默認情況下,matplotlib將軸標籤繪製在軸的中心。我想移動標籤,使其與軸的端部對齊,無論是水平還是垂直軸。例如,對於橫軸我想看看:如何將軸標籤對齊
+--------------------+
| |
| |
| |
| |
| |
+--------------------+
label
難道不可能性與matplotlib的全局設置做呢?
默認情況下,matplotlib將軸標籤繪製在軸的中心。我想移動標籤,使其與軸的端部對齊,無論是水平還是垂直軸。例如,對於橫軸我想看看:如何將軸標籤對齊
+--------------------+
| |
| |
| |
| |
| |
+--------------------+
label
難道不可能性與matplotlib的全局設置做呢?
OK,我會獨自離開我的其他答案(1),但這是一個好
...
plt.xlabel('x_description', horizontalalignment='right', x=1.0)
plt.ylabel('y_description', horizontalalignment='right', y=1.0)
...
,你可以看到,沒有更多的幻數,並都爲xlabel
和ylabel
工作。
注意,在這兩種情況下,我們要改變水平排列,對於最終都清楚地知道,當我第一次改變了ylabel
垂直對齊的原因...
(1),因爲獲取對象,修改對象並將其設置回來的想法本身就是一個好主意,不是嗎?
一個特設的解決方案,即引入了魔法值25
,我不很瞭解,至少可以說,是
plt.xlabel('pollo', horizontalalignment='right', position=(1,25))
一個更明智的方法是使用哪個y
位置axes.xaxis
有choosen ......有了這種想法的一個健全的過程通常是這樣
.get_object(...)
方法獲取對象.set_object(...)
方法在我們的情況下修改的對象
ax
,裏面有包含其位置和排列,我們希望label
的xaxis
修改。 ...
plt.xlabel('...')
...
ax = plt.gca()
label = ax.xaxis.get_label()
x_lab_pos, y_lab_pos = label.get_position()
label.set_position([1.0, y_lab_pos])
label.set_horizontalalignment('right')
ax.xaxis.set_label(label)
...
plt.show()
對於直接matplotlib
的違約行事,我瀏覽了plt.rcParams
數據結構,但我還沒有發現任何有用的東西。當然,這並不意味着這是不可能的,只是我看不到一個可行的解決方案。
我想知道是否可以通過matplotlib的全局設置來做到這一點 –
無法編輯6字符限制的becauce,應該有'plt.xlabel('x description',horizontalalignment ='right',x = 1.0)' – anatol
@anatol交換'horizontalalignment'和'x' /'y'(在這兩個聲明中) - 這是超過6個字符...並感謝您抓住我的錯誤! – gboffi