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

  • talkandroid

    talkandroid

    27 Mayıs 2010
  • Top10Series

    Top10Series

    26 Kasım 2008
  • whatever

    whatever

    30 EYLÜL 2005