2017-03-05 3 views
0

picture 1Pythonでグラフィックスの境界を押す

私はそれが絵2に示すように、情報を表現しようとしているが、結果は私が絵2. 上として国境をプッシュすることができますどのように絵1です

picture 2

を基本的にここでは `

plot = newData.copy() 
del plot['Region']; del plot['Country']; del plot['2016 Rank'] 
plot.index = range(0, 20) 
fig = plt.figure(figsize=(8,4)) 
plt.title('Springfield') 
plt.ylabel('CPI') 

plt.yticks(range(20,90,10)) 
plt.xticks(num.arange(5), ('2012 Score', '2013 Score', '2014 Score', '2015 Score', '2016 Score',)) 
plt.grid(axis='both', which='major') 

for x in plot.values: 
    plt.plot(x, color='gray', linewidth=1, marker='o', markerfacecolor='gray', markersize=6) 

plt.show() 

`

+2

使用しているグラフィックライブラリのタグを追加できますか?それは_Matplotlib ** _ですか? –

+0

申し訳ありません。はい、あなたは正しいです。 matplotlib.pyplotをpltとしてインポート – Airat

+0

http://stackoverflow.com/questions/14493334/add-margin-when-plots-run-against-the-edge-of-the-graph/14498142#14498142 – plasmon360

答えて

1

this answer applieの逆数s:

matplotlib 2.xでは、エッジに自動マージンが設定されているため、データが軸スパイン内にうまく収まるようになります。デフォルトでは、軸スパンの単位で0.05に設定されています。このマージンは、2.xより前のmatplotlibのバージョンではデフォルトでは存在しません。文脈に応じて

plt.margins(x=0.04, y=0.06) 

又は

ax.margins(x=0.04, y=0.06) 

:ただし余白を設定するコマンドは、以前のバージョンにも存在しています。両方の軸方向について単一の値を設定することも同様に可能である:

ax.margins(0.05) 

またthe documentation参照します。

あなたは(もちろんyに対して同じ)、スクリプトの先頭で

plt.rcParams['axes.xmargin'] = 0.05 
plt.rcParams['axes.ymargin'] = 0.05 

を使用することができ、スクリプト全体にマージンを設定したい場合。マージンを完全かつ永遠に設定したい場合は、matplotlib rc fileの行に沿って変更することをお勧めします。

余白を変更する代わりに、plt.xlim(..)またはax.set_xlim(..)を使用して、空白が残らないように手動で軸の制限を設定します。