2018年4月19日木曜日

開発環境

Pythonからはじめる数学入門 (Amit Saha (著)、黒川 利明 (翻訳)、オライリージャパン)の2章(データをグラフで可視化する)、2.6(プログラミングチャレンジ)、問題2-4(支出を可視化する)を取り組んでみる。

コード(Emacs)

Python 3

#!/usr/bin/env python3

import math
from matplotlib import pyplot as plt


def create_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()

if __name__ == '__main__':
    n = 0
    while n == 0:
        try:
            n = int(input('Enter the number of categories: '))
        except Exception as err:
            print(type(err), err)

    data = []
    labels = []
    i = 1
    while i <= n:
        try:
            category = input('Enter category: ')
            expenditure = int(input('Expenditure: '))
        except ValueError:
            print('You entered an invalid input')
        else:
            labels.append(category)
            data.append(expenditure)
            i += 1
    create_bar_char(data, labels)
    plt.savefig('sample4.svg')

入出力結果(Terminal, Jupyter(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 コメント:

コメントを投稿