2016-07-22 2 views
2

不足している値(なし)を追加しようとしましたかnumpynp.nanを私のmatplotグラフに追加しようとしています。通常、この方法で欠損値を持つことができます:先頭に値がありません - matplotlib

import matplotlib.pyplot as plt 

fig = plt.figure(1) 

x = range(10) 
y = [1, 2, None, 0, 1, 2, 3, 3, 5, 10] 

ax = fig.add_subplot(111) 
ax.plot(x, y, 'ro') 

plt.show() 

ただし、欠損値はグラフの始めに簡単にはサポートされていないようです。

import matplotlib.pyplot as plt 

fig = plt.figure(1) 

x = range(10) 
y = ([None]*5)+[x for x in range(5)] 

ax = fig.add_subplot(111) 
ax.plot(x, y, 'ro') 

plt.show() 

これが表示されます。

しかし、私はx=0の代わりx=5を開始したいと思います。 この問題の簡単な方法があるといいですね。

答えて

4

空の値が2番目のプロットに影響しないように見える理由は、axesオブジェクトのxとyの限界を自動的に決定するためです。最初のケースでは、関心のあるx/y範囲全体に及ぶ "実際の"データがあり、軸はこのデータに合わせて自動的に拡大/縮小されます。 2番目の例では、実際のデータはx値の上位範囲しかカバーしないので、何も表示されないので、matplotlibはx軸を切り捨てます。

これを回避する方法は、軸のxlimsを明示的に指定することです。 xの値を使用して、これらの値を決定することができます。

plt.xlim(x[0], x[-1]) 
3

Matplotlibは、x軸とy軸のパラメータを自動的に選択します。この場合、視覚化できるドットのみが表示されます。 x-またはyのいずれかが「なし」の場合、視覚化することはできません。グラフの「空の」部分を見たい場合は、軸の範囲を自分で調整してください。

Matplotlib/pyplot: How to enforce axis range?

Python, Matplotlib, subplot: How to set the axis range?

setting y-axis limit in matplotlib

ともっとたくさん:そうするための方法

は、のようなこのフォーラムで似質問に複数回回答されています。したがって、私はこのフォーラムの他の場所で述べられていることを繰り返すことはしません。

関連する問題