2016-05-11 6 views
1

pyplot(matplotlib)にティックの自動間隔で割り切れる値でティックを持つように強制する方法はありますか?Pyplotは自動間隔で割り切れる値でティック?

pyplotはデータに基づいて自動的にティックの間隔を調整できるので、気にする必要はありません。しかし、私は実際には、その間隔で割り切れる値を使用したいと思います。

例えば、間隔が5であると判断した場合、下の例のように5,10,15,20 ...という値を使用し、4,9,14,19ではなく値を使用する必要があります。どうすれば簡単に修正できますか?

Nice interval but not at divisible values

答えて

1

あなたはmatplotlib.ticker.Locatorクラスを使用したいどこでもあなたのダニを見つけることができます。具体的には、MultipleLocatorを使用したいと思います。プログラムを追加するだけです。

from matplotlib.ticker import MultipleLocator 
ax = plt.gca() 
ax.get_xaxis().set_major_locator(MultipleLocator(base=5)) 

すべて設定されます。

UPDATE:

ticks = ax.get_xticks() 
base = ticks[1] - ticks[0] 

は、あなたが(plt.plotへの呼び出し後の)デフォルトAutoLocatorダニの位置を確認し、お互いの隣に横たわっているそれらのいずれかの間の差を得ることができるベースを取得するには

+0

ありがとうございます。私の問題は、私がデフォルトでベースを知らないということです。 pyplotからベースを得る方法はありますか?ベースは、何年になるかによってpyplotによって自動的に設定されます。この場合、それは5であるが、それは容易に2または10であってもよく、または全く異なる数であってもよい。私は一般的な解決策を探しています。 – Miro

+0

隣接するティックの差としてベースを得ることができます。アップデートを参照してください –

関連する問題