棒グラフは誰でもおなじみで説明は不要ですね。
ソースです。
#-*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.style as mplstyle
import matplotlib
#以下はubuntuのフォント
matplotlib.rc ('font', family='Noto Sans CJK JP')
names = ['東京', '神奈川', '千葉']
values = [100, 50, 70]
plt.figure(figsize=(3.2, 2.0), tight_layout = True)
plt.subplot()
plt.bar(names, values, color = 'green', hatch='/' * 4, ec ="#ff00ff")
plt.suptitle('棒グラフ')
plt.savefig('bargraph.png')
plt.show()
棒グラフの設定できる引数です。
引数 |
短縮型 |
説明 |
width |
|
棒の幅(太さ)。横軸の値で指定。デフォルトは0.8。 |
bottom |
|
棒の下端。主に積み上げ棒グラフにするときに用いる。 |
align |
|
棒の横位置。デフォルトは'center'(xの値に棒の中心が来る)。 |
color |
fc |
棒の色。またはfacecolor, |
hatch |
|
棒の網掛け。 |
linewidth |
lw |
棒の縁の太さ。 |
edgecolor |
ec |
棒の縁の色。 |
alpha |
|
透明度を0~1で指定。 |
zorder |
|
オブジェクトが重なっていた時この値が大きい方が前面に描画される。 |
hatchで使える網パターン文字。
"/" , "\\" , "|" , "-" , "+" , "x", "o", "O", ".", "*"
手元にあった知気象のデータを整形してグラフのサンプルデータを作成しました。1時間ごとの時刻に取得した気温と湿度のデータです。
Hour,Temparature,Humidity
03,24.8,80.6
04,24.7,80.1
05,24.6,79.2
06,24.3,77.7
07,24.4,77.2
08,25.6,73.0
09,27.2,73.0
10,28.8,68.9
11,29.9,66.2
12,30.5,50.0
13,31.1,44.1
14,33.8,46.2
15,35.0,41.5
16,30.7,49.4
csvファイルを読み込んで、時刻における温度と湿度を表示します。グラフです。
青が温度、橙色が湿度です。温度と湿度が同じスケールになっています。右側に湿度のスケールを表示させることもできますが、別途作成ページで公開します。ソースです。
#-*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.style as mplstyle
import matplotlib
import pandas as pd
matplotlib.rc ('font', family='Noto Sans CJK JP')
data = pd.read_csv('weather.csv')
df = data.iloc[0:10]
l = df.columns.values
col_list = l[1 : ]
print(col_list)
hour = df['Hour']
min = min(hour)
max = max(hour)
color = 'red'
fig = plt.figure(figsize=(4.0, 3.0), tight_layout = True)
ax = fig.add_subplot(111, xlabel=df.Hour.name, ylabel='number',
xticks=df.Hour)
w = 0.3
[ax.bar(df.Hour+w*(i-len(col_list)/2), df.loc[:, col], label=col,
width=w, align='edge', zorder=10)
for i, col in enumerate(col_list)]
plt.savefig('bargraph2.png')
plt.show()
pandasを使うとデータの扱いが楽です。
|