web-dev-qa-db-ja.com

x軸ポイントのカスタムテキストでプロット

以下のサンプルコードのように、matplotlibとpythonを使用してプロットを描画しています。

x = array([0,1,2,3])
y = array([20,21,22,23])
plot(x,y)
show()

X軸上の上記のコードなので、描画値0.0, 0.5, 1.0, 1.5が表示されます。つまり、参照x値と同じ値です。

とにかくxの各ポイントを異なる文字列にマッピングする必要はありますか?たとえば、x軸に月の名前(文字列Jun, July,...)または人の名前("John", "Arnold", ...)や時刻("12:20", "12:21", "12:22", ..)のような他の文字列を表示する必要があります。

私に何ができるか、どの機能を見るべきか知っていますか?
私の目的では、matplotlib.tickerの助けになるでしょうか?

94
user311906

pyplot.xticks を使用して、xticks(およびyticks)を手動で設定できます。

import matplotlib.pyplot as plt
import numpy as np

x = np.array([0,1,2,3])
y = np.array([20,21,22,23])
my_xticks = ['John','Arnold','Mavis','Matt']
plt.xticks(x, my_xticks)
plt.plot(x, y)
plt.show()

169
unutbu