机器学习-数据可视化神器matplotlib学习之路(四)
今天画一下3D图像,首先的另外引用一个包 from mpl_toolkits.mplot3d import Axes3D,接下来画一个球体,首先来看看球体的参数方程吧
(0≤θ≤2π,0≤φ≤π)
然后就可以上代码了:
from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D a = np.linspace(0, np.pi*2, 20) b = np.linspace(0, np.pi, 20) A, B = np.meshgrid(a, b)#这里要注意一下,需要给对应的网格点转换成坐标矩阵 X = np.sin(A)*np.cos(B)#x坐标 Y = np.sin(A)*np.sin(B)#y坐标 Z = np.cos(A)#z坐标 fig = plt.figure() ax = Axes3D(fig)#添加3D图 ax.plot_surface(X, Y, Z, cmap='rainbow')#画球体 ax.contourf(X, Y, Z, zdir='z', #按照z轴投影(也就是投影到xy平面),也可以按照x,y轴投影 offset=-1.2, #投影到坐标值为-1.2的平面上 cmap='rainbow') #设置各个坐标范围 ax.set_zlim((-1.2, 1.2)) ax.set_xlim((-1.2, 1.2)) ax.set_ylim((-1.2, 1.2)) plt.show()
大功告成!下一节准备做几个关于pandas在画图中的例子。