SORU
1 ŞUBAT 2010, PAZARTESİ


Gizleme matplotlib araziler metin eksen

Eksen de tickmarks veya numaraları (geleneksel anlamda balta kullanıyorum, matplotlib isimlendirme değil!) olmayan bir şekil çizmek için çalışıyorum. İş yerinde bir sorun matplotlib değer bir N çıkararak(y)x ticklabels ayarlar, sonra da ekler ekseni sonunda N.

Bu belirsiz olabilir, ama aşağıdaki basit örnek sorun vurgular, '6.18' N: sorunlu değeri olmak

import matplotlib.pyplot as plt
import random
prefix = 6.18

rx = [prefix (0.001*random.random()) for i in arange(100)]
ry = [prefix (0.001*random.random()) for i in arange(100)]
plt.plot(rx,ry,'ko')

frame1 = plt.gca()
for xlabel_i in frame1.axes.get_xticklabels():
    xlabel_i.set_visible(False)
    xlabel_i.set_fontsize(0.0)
for xlabel_i in frame1.axes.get_yticklabels():
    xlabel_i.set_fontsize(0.0)
    xlabel_i.set_visible(False)
for tick in frame1.axes.get_xticklines():
    tick.set_visible(False)
for tick in frame1.axes.get_yticklines():
    tick.set_visible(False)

plt.show()

Öğrenmek istediğim üç şey var:

  1. Nasıl bu davranışı (çoğu durumda yararlı olsa da, her zaman değil!) kapatmak için matplotlib.axis.XAxis aradım ve uygun bir şey bulamıyor

  2. Nasıl N (yani X.set_visible(False)) görünmez yapabilirim

  3. Daha iyi bir yol yapılacağı yukarıda zaten var mı? Benim son komplo varsa bunu uygun bir şekilde 4x4 subplots olurdu.

CEVAP
1 ŞUBAT 2010, PAZARTESİ


Her öğe saklamak yerine, tüm eksen gizleyebilirsiniz:

frame1.axes.get_xaxis().set_visible(False)
frame1.axes.get_yaxis().set_visible(False)

Ya da, boş bir liste için kene ayarlayabilirsiniz:

frame1.axes.get_xaxis().set_ticks([])
frame1.axes.get_yaxis().set_ticks([])

Bu ikinci seçenek, hala plt.xlabel() plt.ylabel() eksen etiket eklemek için kullanabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Microsoft Help & Training Videos

    Microsoft He

    31 Mart 2009
  • Paul Schroder

    Paul Schrode

    30 Kasım 2007
  • Ryan Ha

    Ryan Ha

    9 NİSAN 2006