Matplotlib - X Ekseni etiketini aşağı taşı, ancak X Ekseni Tiklerini değil


110

Histogram çizmek için Matplotlib kullanıyorum. Önceki sorumdaki ipuçlarını kullanarak: Matplotlib - her kutuyu etiketleyin , aşağı yukarı karışıklıkları çözdüm.

Son bir sorun var - daha önce - x ekseni etiketi ("Zaman (milisaniye cinsinden)"), x ekseni onay işaretlerinin (0.00, 0.04, 0.08, 0.12 vb.) Altında oluşturuluyordu.

Dolgu yok - Şekillerin altındaki eksen etiketi

Joe Kingston'ın tavsiyesini kullanarak (yukarıdaki soruya bakın), şunu kullanmayı denedim:

ax.tick_params(axis='x', pad=30)

Ancak bu, hem x ekseni onay işaretlerini (0.00, 0.04, 0.08, 0.12 vb.) Hem de x ekseni etiketini ("Zaman (milisaniye cinsinden)") hareket ettirir:

30 Dolgu - Hem Eksen Etiketi hem de Onay İşaretleri Taşındı

Yalnızca x ekseni etiketini üç şekil sırasının altına taşımanın bir yolu var mı?

Not: Aşağıdaki PNG'leri doğrudan açmanız gerekebilir - Resme sağ tıklayın, ardından Resmi Görüntüle (FF'de) veya Resmi yeni sekmede aç (Chrome). SO tarafından yapılan görüntü yeniden boyutlandırması onları neredeyse okunamaz hale getirdi

Yanıtlar:


197

etiket paneli parametresini kullanın:

pl.xlabel("...", labelpad=20)

veya sonra ayarlayın:

ax.xaxis.labelpad = 20

13

Ax.xaxis._autolabelpos değişkeni = True ise, matplotlib, ax.py içindeki _update_label_position işlevindeki etiket konumunu (bazı alıntılara) göre ayarlar:

    bboxes, bboxes2 = self._get_tick_bboxes(ticks_to_draw, renderer)
    bbox = mtransforms.Bbox.union(bboxes)
    bottom = bbox.y0
    x, y = self.label.get_position()
    self.label.set_position((x, bottom - self.labelpad * self.figure.dpi / 72.0))

Aşağıdakileri kullanarak etiket konumunu işaretlerden bağımsız olarak ayarlayabilirsiniz:

    ax.xaxis.set_label_coords(x0, y0)

_autolabelpos'u False olarak veya yukarıda belirtildiği gibi etiket paneli parametresini değiştirerek ayarlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.