ヒストグラムの描画
ヒストグラムの描画例である。データはExcelファイルとして図1のように用意する。
・
・
・
図1 temper.xlsx
2018年6月4日の日本気象協会によるアメダスの各地の最高気温のデータである。図1のファイルの形式は、1行目に変数名が置かれ、データは2行目以降に書かれている。1列目は、データの識別用で通し番号でも識別用文字列でもよい。2列目にヒストグラムを描くデータ値を設定する。この形式のExcelデータファイルに対してヒストグラムを描くスクリプトが本ウェブサイト後半に載せたリスト1のDrawHistogram.pyである。スクリプトファイルとデータファイルは圧縮ファイルfileshisto_nfd.zipにまとめたので、ダウンロード解凍すれば自由に利用できる。
スクリプトDrawHistogram.pyを実行すると、入力データファイル名の設定が求められる(図2)。
図2
入力データファイル名を設定すると(図2では、図1のファイル「temper.xlsx」が設定されている)、次にグラフ画像の保存用ファイル名の設定が求められる。ファイル拡張子が「.png」である任意の名前を設定する。図2では、「MyFigure.png」が設定されている。
グラフ画像保存用ファイル名を設定すると、データが読みかまれてヒストグラムが描かれる(図3)。
図3
図3のウィンドウを閉じるとプログラムの実行終了となり、保存ファイル名が表示される(図4)。
図4
図4において「Squeezed text (50 lines)」とある箇所は、マウスの右ボタンクリックで開くことが出来る。読み込んだデータが出力されている。
リスト1 ヒストグラム描画スクリプト例(DrawHistogram.py)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
finnm = input('入力データファイル(*.xlsx)= ')
foutnm = input('グラフ画像保存ファイル(*.png)= ')
#
# Excelファイルの読み込み
# モジュール xlrd がインストール済みであること
#
xlsx_fl = pd.ExcelFile(finnm)
# ExcelファイルからExcelFile型オブジェクトを生成
data_xlsx =
pd.read_excel(xlsx_fl, header =
None) # ExcelFile型オブジェクトからDataFrame型オブジェクトを生成
data = data_xlsx.values
# Dataframe型オブジェクトからnumpyの配列オブジェクトを生成
print(data)
var_name = data[0,1]
values = data[1:].T[1]
# 日本語表記の設定
plt.rcParams['font.family'] = ['Yu
Gothic', 'Noto Sans CJK JP', 'Hiragino Maru Gothic Pro']
plt.figure(figsize = (8, 6))
# 画像のサイズ
plt.hist(values)
# ヒストグラムの描画
plt.xticks(fontsize = 12)
# 横軸の目盛り文字の大きさ
plt.yticks(fontsize = 12) # 縦軸の目盛り文字の大きさ
plt.xlabel(var_name, fontsize =
20) # 横軸の変数名
plt.ylabel('度数', fontsize = 20)
# 縦軸の名前
plt.savefig(foutnm)
# 画像の保存
plt.show()
# 画像の表示
print('保存されたファイル:', foutnm)