SORU
26 EYLÜL 2012, ÇARŞAMBA


&Quot değiştirme;tik frekans" matplotlib x ya da y ekseninde?

Python veri araziler nasıl düzeltmek için çalışıyorum.

Demek

x = [0,5,9,10,15]

ve

y = [0,1,2,3,4]

Sonra yaparım:

matplotlib.pyplot.plot(x,y)
matplotlib.pyplot.show()

ve x' kene 5 aralıklarla çizilir. eksen Bir şekilde 1 aralıklarla gösteri yapmak için mi var?

CEVAP
26 EYLÜL 2012, ÇARŞAMBA


Açıkça plt.xticks ile işaretler kene için istediğiniz ayarlayabilirsiniz:

plt.xticks(np.arange(min(x), max(x) 1, 1.0))

Örneğin,

import numpy as np
import matplotlib.pyplot as plt

x = [0,5,9,10,15]
y = [0,1,2,3,4]
plt.plot(x,y)
plt.xticks(np.arange(min(x), max(x) 1, 1.0))
plt.show()

(np.arange min(x) max(x) in yerine yüzer durumda range Bu işlev sadece yerine Python kullanılmıştır.)


plt.plot (ya da ax.plot) fonksiyonu otomatik x y sınırları varsayılan ayarlar. Eğer bu sınırları devam et tik işaretlerinin stepsize değiştirmek istiyorsanız, o zaman ax.get_xlim() Matplotlib zaten ayarlanmış olduğunu bulmak için kullanabilirsiniz.

start, end = ax.get_xlim()
ax.xaxis.set_ticks(np.arange(start, end, stepsize))

Varsayılan kene biçimlendirici iyi bir iş önemli bir basamak makul bir sayıya kene değerleri yuvarlama yapmak gerekir. Eğer biçimi üzerinde daha fazla kontrol sahibi olmak istiyorsanız ancak, kendi biçimlendirici tanımlayabilirsiniz. Örneğin,

ax.xaxis.set_major_formatter(ticker.FormatStrFormatter('%0.1f'))

İşte çalıştırılabilir bir örnek:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker

x = [0,5,9,10,15]
y = [0,1,2,3,4]
fig, ax = plt.subplots()
ax.plot(x,y)
start, end = ax.get_xlim()
ax.xaxis.set_ticks(np.arange(start, end, 0.712123))
ax.xaxis.set_major_formatter(ticker.FormatStrFormatter('%0.1f'))
plt.show()

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Epic Tutorials for iPhone, iPad and iOS

    Epic Tutoria

    18 EYLÜL 2011
  • FlippinWindows | #1 Windows Tutorial Channel!

    FlippinWindo

    23 Mayıs 2010
  • Kap Slap

    Kap Slap

    8 Mart 2010