熟练掌握matplotlib中3D图的绘制方法
Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现。但是,使用 Matplotlib 绘制三维图像实际上是在二维画布上展示,所以一般绘制三维图像时,同样需要载入 pyplot 模块。
mplot3d 模块下主要包含 4 个大类,分别是:
mpl_toolkits.mplot3d.axes3d()
mpl_toolkits.mplot3d.axis3d()
mpl_toolkits.mplot3d.art3d()
mpl_toolkits.mplot3d.proj3d()
其中,axes3d() 下面主要包含了各种实现绘图的类和方法。axis3d() 主要是包含了和坐标轴相关的类和方法。art3d() 包含了一些可将 2D 图像转换并用于 3D 绘制的类和方法。proj3d() 中包含一些零碎的类和方法,例如计算三维向量长度等。
一般情况下,我们用到最多的就是 mpl_toolkits.mplot3d.axes3d() 中的mpl_toolkits.mplot3d.axes3d.Axes3D() 类,而 Axes3D() 下面又存在绘制不同类型 3D 图的方法。你可以通过下面的方式导入 Axes3D()。
from mpl_toolkits.mplot3d.axes3d import Axes3D或from mpl_toolkits.mplot3d import Axes3D
Python 3.6.1
PyCharm
练习各种3D图的绘制方法。
1.打开PyCharm,选择Create New Project,
创建名为matplotlib9的项目。
2.打开matplotlib9项目,右键选择New=>Python File,
3.打开3d_graph.py文件,编写代码,用于绘制三维散点图。
首先,我们导入 numpy 随机生成一组数据。
接下来,开始绘图。第一步是载入 2D, 3D 绘图模块。
第二步,使用 Axes3D() 创建 3D 图形对象。
最后,调用散点图绘制方法绘图并显示出来。
4.完整代码如下:
5.代码编写完毕,在3d_graph.py文件内,点击右键=》Run ‘3d_graph’,执行3d_graph.py文件。
7.首先,导入包matplotlib的pyplot模块,用别名plt表示,导入包numpy,并用别名np表示,载入3D 绘图模块mpl_toolkits.mplot3d中的Axes3D。
8.接下来,需要传入 x, y, z 三个坐标的数值,使用numpy中的linspace()函数,生成1000个范围在-6π至6π之间的等间距数组x,将数组x映射到np中的sin、cos函数,分别生成数组y,z。
9.创建一个图对象fig,然后使用Axes3D函数将图对象封装成一个3D图对象ax。
10.最后,调用线型图绘制方法绘图并显示出来。
11.完整代码如下:(将代码覆盖写入到3d_graph.py文件中)
12.运行代码,在屏幕上打印出下面的图。
13.首先,导入包matplotlib的pyplot模块,用别名plt表示,导入包numpy,并用别名np表示,载入3D 绘图模块mpl_toolkits.mplot3d中的Axes3D。
14.下一步,创建一个图对象fig,然后创建一个3D子图对象ax。
15.下一步,需要传入 x, y, z 三个坐标的数值,并创建颜色集合color,使用range生成一个1到12的数字序列x,使用numpy.random中的rand()函数,生成12个范围在0至1000之间的浮点数组y,z坐标为列表 [2011, 2012, 2013, 2014],使用plt.cm.Set2函数,传入用random.choice函数随机选取序列range(plt.cm.Set2.N)中的值作为参数,创建颜色集合color。
16.接下来,绘制三维柱状图,设置决定z轴维度的参数zdir=‘y’,设置颜色参数color=color,透明度参数alpha=0.8,从颜色映射集合中随机选择一种颜色,然后把它和每一个Z轴集合的
17.最后,为坐标轴打标签并显示图片。
18.完整代码如下:(将代码覆盖写入到3d_graph.py文件中)。
20.首先,导入包matplotlib的pyplot模块,用别名plt表示,导入包numpy,并用别名np表示,载入3D 绘图模块mpl_toolkits.mplot3d中的Axes3D。
21.下一步,创建一个图对象fig,然后创建一个3D子图对象ax。
22.下一步,需要传入 x, y, z 三个坐标的数值,使用numpy中的arange()函数,生成40个范围在-2至2之间的等间距数组x,y,将数组x2+y2映射到np中的sqrt函数,生成数组z。
23.绘制曲面图,使用 cmap 着色(cmap=plt.cm.winter 表示采用了 winter 配色方案),并显示图
24.完整代码如下:(将代码覆盖写入到3d_graph.py文件中)。
25.运行代码,在屏幕上打印出下面的图。