2014-12-27 17 views
29

Matplotlib/pylab Python modülüyle çok basit grafikler oluşturuyorum. Y eksenini etiketleyen "y" harfi kendi tarafındadır. Etiketin bir kelime gibi daha uzun olması durumunda, grafiğin dışını çok fazla sola uzatmamak için bunu beklersiniz. Ancak tek harfli bir etiket için bu mantıklı değil, etiket dik olmalı. Aramalarım boş görünüyor. "Y" yi nasıl yatay olarak yazdırabilirim?Y ekseni etiketinin matplotlib/pylab çizelgesinde yatay olarak nasıl yazdırılır?

cevap

50

Bu çok basit. Belirli bir çalışırken, Alternatif

from matplotlib import pyplot as plt 
plt.ion() 
plt.plot([1,2,3]) 
h = plt.ylabel('y') 
h.set_rotation(0) 
plt.draw() 

, sen kabul edilen cevap Genişleyen yani bir argüman olarak

plt.ylabel('y',rotation=0) 
+0

Harika, iş bu. Teşekkür ederim! –

+9

Bir yan notta, dönüşü doğrudan "plt.ylabel" öğesine geçirebilirsiniz. (örn. 'plt.ylabel ('y', rotation = 0)') –

+0

Hey bu zarif. Sağol Joe. –

19

dönüşünü geçirebilirsiniz: etiketi komplo sonra sadece döndürme değiştirebilir eksenler ax nesne: genellikle labelpad çok manuel olarak ayarlanabilir gerekecektir

ax.set_ylabel('abc', rotation=0, fontsize=20, labelpad=20) 

Not - aksi "abc" intrud olacak arsa üzerine.

Kısa denemelerde, labelpad işaretleme etiketlerinin sınırlayıcı kutusu ile y-etiketinin merkezi arasındaki uzaklığın olduğunu tahmin ediyorum. (Yani, adından da anlaşılacağı kadar dolgu değil - bunun yerine etiketin sınırlayıcı kutunun boşluğu olsaydı daha sezgisel olurdu.)

+9

noktasını kullandı ve daha iyi bir netlik için 'rotation =' horizontal'' düşünebilirsiniz. Ayrıca, keyfi bir 'labelpad' (ve sonuçlara göre ayarlamaya gerek duymak) seçmek yerine, 'ha' 'horizontalalignment' anahtar kelimesi için uygun bir kısaltma' ha = 'right'' argümanını ekleyebilirsiniz. – NauticalMile

İlgili konular