[英]matplotlib 3d: Axis label padding when spine positions are changed
在下面的代码中,y 轴 label 不在我想要的位置。
我看过有关如何调整轴 label 填充以及如何移动轴刺的帖子,但不是将两者一起移动。 下面,我更改 z 和 y 样条的 position 并调整 x 和 y 轴标签上的填充没有任何问题。 然而,y 标签正好落在书脊上。 调整填充不会使 label 远离脊椎,而是向上和向下移动脊椎。 我的代码中是否缺少某些内容? 任何帮助表示赞赏。
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure(1)
plt.clf()
plt.ion()
ax1 = fig.add_subplot(111, projection='3d')
ax1.yaxis._axinfo['juggled'] = (1,1,1)
ax1.zaxis._axinfo['juggled'] = (1,2,0)
ax1.set_xlabel("X label", labelpad=-10)
ax1.set_ylabel("Y label", labelpad=-20)
ax1.set_zlabel("Z label", labelpad= -8)
ax1.w_xaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))
ax1.w_yaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))
ax1.w_zaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))
ax1.grid(False)
for line in ax1.xaxis.get_ticklines():
line.set_visible(False)
for line in ax1.yaxis.get_ticklines():
line.set_visible(False)
for line in ax1.zaxis.get_ticklines():
line.set_visible(False)
ax1.xaxis.set_ticklabels([])
ax1.yaxis.set_ticklabels([])
ax1.zaxis.set_ticklabels([])
您的 label 不会落在脊椎上。 只是角度使它看起来像那样。 您可以尝试移动您的 plot,您会自己看到。
labelpad
参数使它在X
和Z
中移动得更远,这就是为什么从这个角度来看它似乎只在Y
脊椎上上下移动。
我修改了 labelpad 以从另一个角度向您展示。
fig = plt.figure(1)
plt.clf()
plt.ion()
ax1 = fig.add_subplot(111, projection='3d')
ax1.yaxis._axinfo['juggled'] = (1, 1, 1)
ax1.zaxis._axinfo['juggled'] = (1, 2, 0)
ax1.set_xlabel("X label", labelpad=10)
ax1.set_ylabel("Y label", labelpad=10)
ax1.set_zlabel("Z label", labelpad=10)
ax1.w_xaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))
ax1.w_yaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))
ax1.w_zaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))
ax1.grid(False)
for line in ax1.xaxis.get_ticklines():
line.set_visible(False)
for line in ax1.yaxis.get_ticklines():
line.set_visible(False)
for line in ax1.zaxis.get_ticklines():
line.set_visible(False)
ax1.xaxis.set_ticklabels([])
ax1.yaxis.set_ticklabels([])
ax1.zaxis.set_ticklabels([])
这就是数字
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.