私は問題を抱えています。グラフをプロットしたい場合は初めてですが、同じオプションが再度選択された場合、以下のようなエラーが表示されます。私にとっては、パイロットが持っている資源の一部が解放されていないようです。もしそうなら、私の理解は正しいのですか?それを修正する方法は?もしそれが間違っていたら、それは何の原因になるでしょうか?pyplotを使用しているときのデータ処理
私はグラフをプロットしようとすると、ちょっとビットが増えます。データを表示したいのであれば、うまく動作します。
コード:
default_options = {'0' : 'Below are the options',
'1' : '1 . Enter File path\'s for processing',
'2' : '2 . Display all categories',
'3' : '3 . Display type of forms',
'4' : '4 . Display for given form annual result',
'5' : '5 . Compare two form annual result ',
'6' : '6 . Compare two years annual result',
'99': '0 . Type 0 to exit '
}
labels = ["1st_quat", "2nd_quat", "3rd_quat", "4th_quat"]
def plotBarGraph(self, fiscal_year):
index = np.arange(len(labels))
bar_width = 0.1
fig, ax = plt.subplots()
appli_received = [data[0] for data in fiscal_year]
appli_accepted = [data[1] for data in fiscal_year]
appli_denied = [data[2] for data in fiscal_year]
appli_pending = [data[3] for data in fiscal_year]
plt.bar(index, appli_received, bar_width, alpha = 0.5, color='b')
plt.bar(index + bar_width, appli_accepted,bar_width, alpha = 0.5, color='r')
plt.bar(index + bar_width * 2, appli_denied, bar_width, alpha = 0.5, color='g')
plt.bar(index + bar_width * 3, appli_pending,bar_width, alpha = 0.5, color='k')
plt.xticks(index, labels, rotation = 35)
ax.tick_params(axis='both', which='major')
plt.legend(['Received', 'Approved', 'Denied', 'Pending'], loc='upper left')
plt.show()
def getUserInput(self):
self.displayUserOption()
user_input = int(raw_input())
if self.validateUserInput(user_input):
if user_input:
self.processForAllFile(user_input)
self.getUserInput()
else:
print " Please enter valid option \n "
self.getUserInput()
ユーザーが再びグラフにプロットしようとしたときに印刷されたエラー(私は手動で再びそれをプロットするために選択する前に、同様のプロットを閉じる)
self.plotBarGraph(report)
plt.bar(index, appli_received, bar_width, alpha = 0.5, color='b')
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 2089, in bar
ret = ax.bar(left, height, width, bottom, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 4733, in bar
nbars)
AssertionError: incompatible sizes: argument 'height' must be length 4 or scalar
私は 'plotBarGraph'のコードを見る必要があるようです。 – mobiusklein
@mobiusklein - 要求通りにコードで質問を更新しました – oneday