本文介绍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
声明
此处评论已关闭