matplotlib Basemap的3d效果

简介: matplotlib Basemap的3d效果

matplotlib是python中的一个画图插件;

matplotlib的介绍网址,参见百度百科:

https://baike.baidu.com/item/Matplotlib/20436231?fr=aladdin

matplotlib支持二维图的效果,也支持三维图的效果,在大数据的制作中,可以以地图为底,在旁边加上柱状图的效果,达到一个三维立体的效果,python现成的库有很多,这在开发中就比较方便,可以直接import进来使用。

下边是根据matplotlib的帮助手册中的一个例子,在文章的最后,有英文的文档链接。

具体的实现代码如下:

#coding=utf-8 
#引用相应的画图类库
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.basemap import Basemap
from matplotlib.collections import PolyCollection
import numpy as np
#初始化一个基础地图和三维的坐标轴
map = Basemap()
fig = plt.figure()
ax = Axes3D(fig)
#设置三维的朝向角度,高度和距离
ax.azim = 270
ax.elev = 50
ax.dist = 8

#在底面上画地图的海岸线和国界线
ax.add_collection3d(map.drawcoastlines(linewidth=0.25))
ax.add_collection3d(map.drawcountries(linewidth=0.35))

#将地图上的面转换成三维坐标轴上的图画
polys = []
for polygon in map.landpolygons:
    polys.append(polygon.get_coords())
lc = PolyCollection(polys, edgecolor='black',
                    facecolor='#123456', closed=False)
ax.add_collection3d(lc)
#模拟地图上的柱状图数据,坐标按照经纬度
lons = np.array([-13.7, -10.8, -13.2, -96.8, -7.99, 7.5, -17.3, -3.7])
lats = np.array([9.6, 6.3, 8.5, 32.7, 12.5, 8.9, 14.7, 40.39])
cases = np.array([1971, 7069, 6073, 4, 6, 20, 1, 1])
deaths = np.array([1192, 2964, 1250, 1, 5, 8, 0, 0])
places = np.array(['Guinea', 'Liberia', 'Sierra Leone','United States', 'Mali', 'Nigeria', 'Senegal', 'Spain'])

x, y = map(lons, lats)
#添加柱状图的效果
ax.bar3d(x, y, np.zeros(len(x)), 2, 2, deaths, color= 'r', alpha=0.75)
plt.show()

image.png

相关文章
|
数据可视化 Python
【100天精通Python】Day67:Python可视化_Matplotlib 绘制动画,2D、3D 动画 示例+代码
【100天精通Python】Day67:Python可视化_Matplotlib 绘制动画,2D、3D 动画 示例+代码
419 0
【100天精通Python】Day67:Python可视化_Matplotlib 绘制动画,2D、3D 动画 示例+代码
|
数据可视化 Python
【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码
【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码
366 0
|
数据可视化 关系型数据库 Python
【100天精通Python】Day66:Python可视化_Matplotlib 3D绘图,绘制3D曲面图、3D填充图,3D极坐标图,示例+代码
【100天精通Python】Day66:Python可视化_Matplotlib 3D绘图,绘制3D曲面图、3D填充图,3D极坐标图,示例+代码
207 0
|
数据可视化 API Python
高级 Matplotlib:3D 图形和交互性
Matplotlib 是 Python 中最重要的数据可视化库之一。在之前的文章中,我们讨论了如何使用基础和中级功能来创建各种图形。在本文中,我们将深入研究 Matplotlib 的高级特性,特别是如何创建 3D 图形和交互式图形。
|
大数据 Python
matplotlib Basemap加载shp文件
matplotlib Basemap加载shp文件
185 0
|
定位技术 数据格式 Python
netcdf数据在matplotlib Basemap出图
使用python,将netcdf数据在matplotlib Basemap出图
163 0
|
API Python
Matplotlib绘制3D统计图
在2D统计图统计图中再添加一个维度可以展示更多信息。而且,在进行常规汇报或演讲时,3D图形也可以吸引更多的注意力。在本文中,我们将探讨利用Matplotlib绘制三维统计图。
1900 1
Matplotlib绘制3D统计图
|
Python
python matplotlib绘制 3D图像专题 (三维柱状图、曲面图、散点图、曲线图合集)
python matplotlib绘制 3D图像专题 (三维柱状图、曲面图、散点图、曲线图合集)
1522 0
python matplotlib绘制 3D图像专题 (三维柱状图、曲面图、散点图、曲线图合集)
|
Web App开发 算法 API
使用Matplotlib绘制3D图形
本文是Matplotlib的第二篇文章,会讲解如何通过Matplotlib绘制3D图形。关于Matplotlib的第一篇文章,请看这里:[Python绘图库Matplotlib入门教程](https://paul.pub/matplotlib-basics/)。 # 测试环境 由于这是一个Python语言的软件包,因此需要你的机器上首先安装好Python语言的环境。关于这一点,请自行在
3772 0

热门文章

最新文章