2012-06-26 8 views
8

大きい値をグラフ表示する例を示します。matplotlibを使用して棒グラフのy軸の制限を自動的に設定する

import matplotlib.pyplot as plt 
x = [1,2,3,4,5] 
y = [1000, 1002, 1001, 1003, 1005] 
plt.bar(x,y) 
plt.show() 

y軸は0から始まり、すべてのバーは同じに見えます。私はあなたが手動で限界を設定するためにplt.ylimを使うことができると知っていますが、matplotlibが自動的に(そしてスマートに)合理的な値(998-1008のような)に限界を設定し、

答えて

11

簡単な代数の少しの限界を解決するのに役立ちます:

import matplotlib.pyplot as plt 
import math 
x = [1,2,3,4,5] 
y = [1000, 1002, 1001, 1003, 1005] 
low = min(y) 
high = max(y) 
plt.ylim([math.ceil(low-0.5*(high-low)), math.ceil(high+0.5*(high-low))]) 
plt.bar(x,y) 
plt.show() 

このように、あなたはあなたのyの値の差を見つけ、y軸に沿ってスケールを設定するためにそれらを使用することができます軸。あなたが指定した値を取得して整数を保証するために、math.ceil(math.floorとは対照的に)を使用しました。

軸のブレークがある限り、私はthis exampleを見ることをお勧めします。

+0

これはかなりうまくいきます。ありがとう。 – user1473483

関連する問題