2020年5月4日月曜日

【matplotlib】棒グラフ作成と体裁の変更

グラフ描画ライブラリ matplotlib を用いた棒グラフ作成方法とグラフの体裁の変更方法を説明する。棒グラフを作成するには matplotlib.pyplot モジュールを使用する。

matplotlibを使う場合にはインポートが必要。 matplotlib.pyplot は通常以下の書式でpltと略されインポートされる。

コード

import matplotlib.pyplot as plt


1. 棒グラフ作成

棒グラフを作成するには matplotlib.pyplot.bar メソッドを用いる。書式は以下の通り(これ以外にも多数の引数がある)。

コード

matplotlib.pyplot.bar(x, 
                     height, 
                     width=0.8, 
                     bottom=None, 
                     align='center', 
                     data=None)

引数 x にバーの座標もしくは各バーの水準名を与え、引数 height にそれぞれのバーの高さを与える。

x に各バーの水準名を与えた場合。

コード

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D']
height = [10, 12, 24, 7]

plt.bar(x, height)
plt.show()

実行結果



x に各バーの座標を与えた場合。

コード

import matplotlib.pyplot as plt

x = [1.5, 2.5, 4, 6]
height = [10, 12, 24, 7]

plt.bar(x, height)
plt.show()

実行結果



2. 軸ラベル・グラフタイトルの表示

グラフタイトルを表示する場合は plt.title x軸のラベルを表示する場合は plt.xlabel 、y軸のラベルを表示する場合は plt.ylabel を指定する。

コード

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D']
height = [10, 12, 24, 7]

plt.bar(x, height)

plt.title('result')
plt.xlabel('team')
plt.ylabel('point')

plt.show()

実行結果



3. グラフの体裁変更

バー幅の変更、バー色の変更、バー高さの基準値の変更、log表示、グリッドの表示について。

バーの幅を変更するには width を指定する。デフォルトはwidth=0.8
width=0.5とした場合

コード

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D']
height = [10, 12, 24, 7]

plt.bar(x, height, width=0.5)

plt.show()

実行結果




バーの色を変更するには color を指定する。
color='red'とした場合

コード

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D']
height = [10, 12, 24, 7]

plt.bar(x, height, color='red')

plt.show()

実行結果



色の指定はカラー名もしくはRGBのタプルで指定できる。カラー名のリストはリファレンスより、

タプルでの指定は(R, G, B)の形式でRGBそれぞれ0~1.0の値を取る。

コード

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D']
height = [10, 12, 24, 7]

plt.bar(x, height, color=(0.3, 1.0, 0.5))

plt.show()

実行結果


バー高さの基準値の変更は bottom を指定する。
bottom=-5とした場合

コード

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D']
height = [10, 12, 24, 7]

plt.bar(x, height, bottom=-5)

plt.show()

実行結果




高さをlog表示するには log='true' を指定する。

コード

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D']
height = [10, 122, 2400, 70]

plt.bar(x, height, log='true')

plt.show()

実行結果




グリッドを表示する場合は plt.grid() を追加する。

コード

import matplotlib.pyplot as plt

x = ['A', 'B', 'C', 'D']
height = [10, 12, 24, 7]

plt.bar(x, height)
plt.grid()

plt.show()

実行結果



4. リファレンス

matplotlib > matplotlib.pyplot.bar
matplotlib > List of named colors

使用バージョン:Python 3.7.0 / matplotlib 3.2.1

0 件のコメント:

コメントを投稿