3

私のx軸とy軸は通常、それぞれ0から300と0から60の範囲です。

5 <= x <= 300ただし、からの値のみを表示したいので、

ax.set_xlim(left=5)

その後、グラフは実際に5から始まりますが、それを示すものは何もありません。x軸の最初の目盛りは50で、次に100、150です... y軸には0、20、40、60のラベルが付いた目盛りがあり、視聴者に0の下限がy軸は、x軸の下限0も表します。

両方の軸の下限が0でないことを視聴者に明示的に通知するために、pyplotにx = 5で余分な目盛りを表示させるにはどうすればよいですか?

4

1 に答える 1

2

xticksを使用して、x軸の目盛りを設定できます。これはipythonセッションです:

In [18]: l = [random.randint(0, 10) for i in range(300)]

In [19]: plot(l)
Out[19]: [<matplotlib.lines.Line2D at 0x9241f60>]

In [20]: plt.xlim(xmin=5)       # I set to start at 5. No label is draw
Out[20]: (5, 300.0)

In [21]: plt.xticks(arange(5, 301, 50))  # this makes the first xtick at left to be 5
                                         # note the max range is 301, otherwise you will never
                                         # get 300 even if you set the appropriate step

ここで、xaxisの右側にはラベルがないことに注意してください。最後のラベルは255です(左側で発生したのと同じ問題です)。max - min / step整数値(ティック数)になる(または非常に近くなる)ために、範囲のステップを変更するこのラベルを取得できます。

これはそれを作ります(10進数は醜いですが):

In [38]: plt.xticks(arange(5, 301, 29.5)) 
于 2012-11-29T20:03:52.950 に答える