mplot3d - 如何显示次刻度线?
我该如何在使用mplot3d / axes3d绘制的3D表面图上显示(开启)次刻度呢?
我可以通过以下代码来定义主要刻度的位置:
ax.w_zaxis.set_major_locator(MultipleLocator(10))
同样,我猜我可以用以下代码来定义次刻度:
ax.w_zaxis.set_minor_locator(MultipleLocator(2))
这段代码似乎是用来定义次刻度的位置,但在我的图表中并没有真正开启它们。我该如何在我的axes3D中开启次刻度呢?
2 个回答
2
从 v3.3 版本开始,你可以通过在下面的代码中设置 minor=True
来实现这个功能:
ax.set_xticks(minor=True)
ax.set_yticks(minor=True)
ax.set_zticks(minor=True)
3
从我了解的情况来看,mplot3d这个工具里小刻度线的功能还没有完全实现。我在matplotlib的代码中查看的地方是 Your_Python_Lib_site-packages\mpl_toolkits\mplot3d\axis3d.py
的 draw()
函数。在这里我只看到绘制大刻度线的代码,而没有小刻度线的部分。看起来修改代码让它也能绘制小刻度线并不是特别难。我在想,matplotlib的开发者们是否知道mplot3d里的小刻度线不工作呢。