在python中的3D绘图中移动刻度标签

时间:2016-02-04 15:18:24

标签: python axis-labels

在我的图中,我不清楚轴的哪个划线我的值,它需要仔细看看。我想让它立刻变得清晰。

现在我添加了红色属于它们。当价值向上移动一点点时,我认为会更清楚。

This explains my problem

这是我的代码

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x =  np.arange(1950,2010,1)
y = np.arange(0, 50,1)
X, Y = np.meshgrid(x, y)
zs = np.array([fun(y,x) for x,y in zip(np.ravel(X), np.ravel(Y))])
Z = zs.reshape(X.shape)

ax.plot_wireframe(X, Y, Z)

ax.view_init(25,-30)
plt.xlabel('Year')

plt.show()

谢谢

1 个答案:

答案 0 :(得分:0)

正确的解决方案是使用Axes3D对象上的tick_params函数,如下所示:

fig = plt.figure()
ax = Axes3D(fig)

ax.minorticks_on()
ax.tick_params(axis='both', width=10, labelsize=10, pad=0)

x =  np.arange(1950,2010,1)
y = np.arange(0, 50,1)
X, Y = np.meshgrid(x, y)
zs = np.array([fun(y,x) for x,y in zip(np.ravel(X), np.ravel(Y))])
Z = zs.reshape(X.shape)

ax.plot_wireframe(X, Y, Z)
ax.view_init(25,-30)
plt.xlabel('Year')

plt.show()

特别是,tick_params函数有一个pad参数来控制距离。不幸的是,这似乎还没有完全实现:

  

请注意

     

虽然这个功能目前正在实施,但核心部分是   Axes3D对象可能会忽略其中一些设置。未来版本将   解决这个问题。优先考虑那些提交错误的人。