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

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • arnejann

    arnejann

    3 Kasım 2007
  • WiseOwlTutorials

    WiseOwlTutor

    21 EKİM 2011