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

  • BigBoyTV

    BigBoyTV

    25 EYLÜL 2013
  • picster

    picster

    20 NİSAN 2006
  • The Pet Collective

    The Pet Coll

    5 Ocak 2012