本文介绍matplotlib绘制三维点云以及简单的作图控制。
这里有一组数据,每个数据点包含了三个属性,如平均信号强度(Mean Intensity),最短邻间距离(Nearest Neighbor Distance, NND),还有体积(Volume)。我们希望可视化地查看这三个属性的相关性,这个时候可以选择绘制三维散点图。
如上图所示,就是使用 matplotlib 提供的三维作图模块绘制的结果,看上去还是不错的。当然最大的优点是可以嵌入到 HTML中,方便分析完数据直接导出代码笔记分享给合作者查看。
fig = plt.figure(figsize=(8,8))ax = fig.add_subplot(projection='3d')ax.scatter(xs=data['NND'], ys=data['volume'], zs=data['mean'], s = 10, alpha=0.1, )ax.view_init(elev=36, azim=20)ax.set_xlim(0, 1)ax.set_ylim(0, 0.2)ax.set_xlabel(r" NND ($\mu m$)")ax.set_ylabel(r"Volume ($\mu m^{3}$)")ax.set_zlabel("Mean Intensity")plt.show()注意上述作图命令中,除了指定三维坐标的参数,其它的还有:
-
s:散点大小
-
alpha:散点透明度
-
.view_init控制视角,其中elev是水平旋转角,azim是竖直旋转角 -
matplotlib中设置坐标轴标签时,支持类LaTeX 的公式的写法,但是字符串前注意加
r声明