600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python三维坐标轴单位长度_Matplotlib中三维散点图的z轴缩放和限制

python三维坐标轴单位长度_Matplotlib中三维散点图的z轴缩放和限制

时间:2022-12-02 04:43:16

相关推荐

python三维坐标轴单位长度_Matplotlib中三维散点图的z轴缩放和限制

我对三个参数进行了蒙特卡罗反演,现在我试图用Matplotlib将它们绘制成三维图形。其中一个参数(Mo)的值在大约10^15到10^20之间变化,我对绘制从10^17到10^19变化的好解(蓝点)感兴趣。我正在绘制z轴中的参数(Mo),如果只将此轴设置为具有重要值范围的对数,那就太好了。我尝试了不同的选择,我看到在其他论坛,但情节不正常。。。可能Matplotlib中有一个bug,或者我没有正确使用这些命令。

这是具有线性轴且不限制z轴的原始图形:

如果我尝试将z轴设置为对数(通过添加线ax.set_zscale('log')),则结果缩放似乎无法正常工作,因为每个功率的顺序并非等距排列:

最后,如果我试图将z轴限制在我感兴趣的值的范围内(只需添加线ax.set_zlim3d(1e17,1e19)),而不是将点剪切到该轴中定义的范围内,它们似乎会从图形中消失:

这是这个图的全部代码。这并不复杂。任何帮助或建议都是非常欢迎的。fig = figure(2)

ax = fig.add_subplot(111, projection='3d')

# Plot models:

p = ax.scatter(Vr,Dm,Mo,c=misfits,vmin=0.3,vmax=1,s=2,edgecolor='none',marker='o')

fig.colorbar(p, ticks=arange(0.3,1+0.1,0.1))

# Plot settings:

ax.set_xlim3d(0,max(Vr))

ax.set_ylim3d(0,max(Dm))

ax.set_zlim3d(1e17,1e19)

ax.set_zscale('log')

ax.set_xlabel("$V_{r}$ [$km/s$]")

ax.set_ylabel("$D_{max}$ [$m$]")

ax.set_zlabel("$M_{o}$ [$Nm$]")

ax.invert_xaxis()

jet()

title("Kinematic parameters and $M_{o}$")

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。