開発環境
- OS X El Capitan - Apple (OS)
- Emacs (Text Editor)
- Python 3.5 (プログラミング言語)
Pythonからはじめる数学入門 (Amit Saha (著)、黒川 利明 (翻訳)、オライリージャパン)の2章(データをグラフで可視化する)、2.6(プログラミングチャレンジ)、問題2-4(支出を可視化する)を取り組んでみる。
問題2-4(支出を可視化する)
コード(Emacs)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
def draw_bar_char(data, labels):
num_bars = len(data)
positions = range(1, num_bars + 1)
plt.barh(positions, data, align='center')
plt.yticks(positions, labels)
plt.xlabel('Amount')
plt.ylabel('Categories')
plt.title('Weekly expenditures')
plt.grid()
plt.savefig('expenditures.png')
plt.show()
if __name__ == '__main__':
categories = []
expenditures = []
try:
n = int(input('Enter the number of categories: '))
for _ in range(n):
category = input('Enter category: ')
categories.append(category)
expenditure = int(input('Expenditure: '))
expenditures.append(expenditure)
except ValueError as err:
print('You entered an invalid input')
print(err)
else:
draw_bar_char(expenditures, categories)
入出力結果(Terminal, IPython)
$ ./sample4.py Enter the number of categories: 4 Enter category: Food Expenditure: 70 Enter category: Transportation Expenditure: 35 Enter category: Entertainment Expenditure: 30 Enter category: Phone/Internet Expenditure: 30 $
0 コメント:
コメントを投稿