Python 体験 〜 グラフ制作

これからプログラミング学習を始める方に向けた体験教材です。
python を使ってデータをグラフにしてみましょう。

教材データ

github からデータをダウンロードしてください。

ダウンロードしたデータは圧縮されているので、デスクトップに展開してください。

Windows 環境を前提、エディタには Visual Studio Code を使用します。
あらかじめダウンロードしたデータをエディタで開いておきます。

pandas と matplotlib を使います

terminal から以下のコマンドを入力して、ライブラリをインストールします。
※あらかじめインストールされているパソコンもあります

pip install japanize-matplotlib
pip install pandas
Visual Studio Code の terminal から実行

japanize matplotlib はグラフをつくるライプラリの日本語対応版です。
pandas はデータ解析のためのライブラリとなります。

データの読み込み

01-graph-bar.py を開いて、次のコードを入力します。

df = pd.read_excel('data/population.xlsx', index_col=0)

これはプログラムでエクセルのデータを読み込んでいる処理です。

エクセルの内容は日本の人口推移のデータを加工したものです
人口推計 長期時系列データ(大正9年~平成12年)

データの確認

どのようにデータが読み込まれたのか、確認してみましょう。
次の行に、下記のように入力してください。

print(df)
terminal に結果が出力されます

グラフの表示

次のコードを追加することで、総人口の年ごとの推移を棒グラフにすることができます。

df["総人口"].plot.bar()
plt.show()

こちらの内容でプログラムを実行してください。
どのように表示されるのか、確認してみましょう。

折れ線グラフ

続いて 02-graph-line.py を開いて、CSV ファイルを読み込むために次のコードを入力してください。先ほどと同様に print で内容を表示しておきましょう。

df = pd.read_csv("data/temperature.csv", index_col=0, encoding="shift_jis")
print(df)

データの文字コードが Shift_JIS だったので、オプションを指定して文字化けしないようにしています。CSV で配布されているデータの場合は文字コードに気をつけましょう。

CSV の内容は最低気温と最高気温のデータを加工したものです
気象庁 | 過去の気象データ・ダウンロード

グラフの表示

次のコードを追加することで、折れ線グラフで最低気温と最高気温を同時に表示します。

最高気温を赤、最低気温を青にして視覚的にもわかりやすくしてみます。

df["最高気温"].plot(color="red")
df["最低気温"].plot(color="blue")

plt.legend(loc="lower right")
plt.show()

legend() は凡例を右下 ( lower right ) に表示するよう指定しています。
こちらの内容でプログラムを実行してみてください。
うまく表示出来たでしょうか?

おまけ

早く進んだかたは同じ要領で円グラフも表示してみましょう。

df = pd.read_excel("data/child.xlsx", index_col=0)
df = df.rename(columns={"%": "子供の人数"})

color_list = ["blue", "green", "yellow", "orange", "red"]
df["子供の人数"].plot.pie(colors=color_list)

plt.show()

まとめ

python はシンプルにコードが書けるので、はじめてプログラミングを学ぶ方によく選ばれています。
ライブラリが充実しているので、短いコードで複雑な処理を実現できます。

ご興味のある方はぜひプログラミングを学んでください。