Matplotlib mpl_toolkits绘制3D图表(附带实例)
3D 图表有立体感,也比较美观,看起来更加“高大上”。下面介绍两种 3D 图表,即 3D 柱形图和 3D 曲面图。
绘制 3D 图表,我们依旧使用 Matplotlib,但需要安装 mpl_toolkits 工具包,使用 pip 安装命令:
【实例 1】绘制3D柱形图,程序代码如下:

图 1 3D柱形图
【实例 2】绘制 3D 曲面图,程序代码如下:

图 2 3D曲面图
绘制 3D 图表,我们依旧使用 Matplotlib,但需要安装 mpl_toolkits 工具包,使用 pip 安装命令:
pip install --upgrade matplotlib安装好这个模块后,即可调用 mpl_tookits 下的 mplot3d 类进行 3D 图表的绘制。
【实例 1】绘制3D柱形图,程序代码如下:
# 导入相关模块
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D
import numpy as np
fig = plt.figure() # 创建空画布
axes3d = fig.add_axes(Axes3D(fig)) # 创建3D画布并添加轴
zs = [1, 5, 10, 15, 20] # 创建列表(z轴数据)
for z in zs:
x = np.arange(0, 10) # x轴数据
y = np.random.randint(0, 30, size=10) # y轴数据
# 3D柱形图
axes3d.bar(x, y, zs=z, zdir='x', color=['r', 'green', 'yellow', 'c'])
plt.show() # 显示图表
运行程序,结果如下图所示:
图 1 3D柱形图
【实例 2】绘制 3D 曲面图,程序代码如下:
# 导入相关模块
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure() # 创建空画布
axes3d = fig.add_axes(Axes3D(fig)) # 创建3D画布并添加轴
x = np.arange(-4.0, 4.0, 0.125) # 生成x轴数据
y = np.arange(-3.0, 4.0, 0.125) # 生成y轴数据
# 对x、y轴数据进行网格化
X, Y = np.meshgrid(x, y)
Z1 = np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2)
Z = (Z1 - Z2) * 2 # 计算z轴数据(高度数据)
# 绘制3D图形
axes3d.plot_surface(X, Y, Z,
rstride=1, # 指定行的跨度
cstride=1, # 指定列的跨度
cmap=plt.get_cmap('rainbow')) # 设置颜色映射
axes3d.set_zlim(-2, 2) # 设置z轴范围
plt.show() # 显示图表
运行程序,结果如下图所示:
图 2 3D曲面图
ICP备案:
公安联网备案: