2016年8月12日金曜日

開発環境

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 コメント:

コメントを投稿