2017-04-05 22 views
2

私はpython 2.7を使用し、単純なパーセンタイルバットチャートをプロットしようとしています。なぜplt.show()が余分なブランク図が1つ表示されるのですか

私は私が望む姿を取得し、問題がplt.showを使用した場合、それに、ということです()私は余分な空白画像を取得し、

私は(plt.closeを試してみました)、plt.clf( )とplt.figure()クリーンPLTオブジェクトを作成するには、これは私の関数である:

import matplotlib.pyplot as plt 
plt.grid(True) 
data = zip(*percentiles) 

data = [list(i) for i in data] 
tick_range = data[0] 

ticks = [str(i) + "%" for i in tick_range] 
tick_range = [x+2.5 for x in tick_range] 

fig, ax = plt.subplots() 
plt.bar(data[0], data[1], width=5) 

plt.show() 

データを(パーセンタイル)変数は、以下の構造である[(I、V)、(I、V)。 ...] iがインデックスの場合、vは浮動小数点値です。

ありがとうございます!

答えて

3

問題はplt.grid(True)が現在の図形上で動作し、その行に達した時点で図が存在しないため、自動的に作成されます。次に、あなたが代わりにはちょうどbarは自動的に数字が作成されますので、subplotsを呼び出すことなくbarを呼び出すと、あなたは

plt.bar(data[0], data[1], width=5) 
plt.grid(True) 

plt.show() 

あなたのプロットを作成するには、plt.subplots()

を呼び出すときは、後にグリッド線にを追加する必要があります別のフィギュアを作成します必要に応じて軸を調整します。

私は `図実行ONLY
plt.grid(True) 
plt.bar(data[0], data[1], width=5) 
plt.show() 
+0

、=のplt.subplots(NROWS = 2、ncolsの= 1、figsize =(17、10))を軸'と 'plt.show()'私に追加のブランク図形を与えます既に!? matplotlibバージョン1.5.3を使用しています。何が悪いですか? – danger89

関連する問題