簡體   English   中英

matplotlib 3d:軸 label 更改脊椎位置時的填充

[英]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參數使它在XZ中移動得更遠,這就是為什么從這個角度來看它似乎只在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM