【Python・データ分析】Matplotlibでグラフ(折れ線・棒・円・散布図・ヒストグラム)出力・コードの使い方解説

こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!

本記事では「pythonライブラリであるMatplotlibを活用した様々なグラフデザイン方法」をご紹介します。折線、棒グラフ、円グラフなどのグラフ形式の指定方法や引数を用いた詳細なグラフデザインまで幅広く取り扱っている内容となっています。

目次

本記事で紹介するグラフ

本記事で紹介するグラフ

本記事前半では、Python・Matplotlibを用いて上記グラフを出力する方法について解説します。後半では、詳細なグラフデザインを可能とするmatplotlibの引数指定方法について解説します。

Python Matplotlibを活用したグラフ作成

グラフ出力に必要なライブラリとして、下記を事前にインポートしておきましょう。

import matplotlib.pyplot as plt

#フォントの日本語対応
from matplotlib import rcParams
rcParams["font.family"] = "sans-serif"
rcParams["font.sans-serif"] = "Hiragino Maru Gothic Pro"

折線グラフ

#01 データ
X = [1,2,3,4,5,6,7,8,9,10]
Y = [2,4,6,8,10,12,14,16,18,20]

#02 軸ラベル
plt.title("グラフのタイトル")
plt.xlabel("x軸ラベル")
plt.ylabel("y軸ラベル")

#03 折線グラフ
plt.plot(X,Y)  
plt.show()

垂直棒グラフ

#01 データ
X = [1,2,3,4,5,6,7,8,9,10]
Y = [2,4,6,8,10,12,14,16,18,20]

#02 軸ラベル
plt.title("グラフのタイトル")
plt.xlabel("x軸ラベル")
plt.ylabel("y軸ラベル")

#03 垂直棒グラフ
plt.bar(X,Y)
plt.show()

水平棒グラフ

#01 データ
X = [1,2,3,4,5,6,7,8,9,10]
Y = [2,4,6,8,10,12,14,16,18,20]

#02 軸ラベル
plt.title("グラフのタイトル")
plt.xlabel("x軸ラベル")
plt.ylabel("y軸ラベル")

#03 水平棒グラフ
plt.barh(X,Y)
plt.show()

円グラフ

#01 データ
figure       = [30,40,20,10]

#02 ラベル名・ラベルカラー
label_list   = ["好き", "普通","苦手","嫌い"]
color_list   = ["blue", "red", "yellow", "green"]

#03 円グラフ
plt.pie(figure, labels=label_list, colors=color_list, autopct="%1.1f%%",wedgeprops={"edgecolor":"black"}) 
plt.show()

散布図

#01 データ
X = [1,2,3,4,5,6,7,8,9,10]
Y = [2,4,6,8,10,12,14,16,18,20]

#02 軸ラベル
plt.title("グラフのタイトル")
plt.xlabel("x軸ラベル")
plt.ylabel("y軸ラベル")

#03 散布図
plt.scatter(X,Y)
plt.show()

ヒストグラム

#01 データ
data = [52,52,53,53,54,55,57,57,58,60,61,63,64,64,67]

#02 軸ラベル
plt.title("グラフのタイトル")
plt.xlabel("x軸ラベル")
plt.ylabel("y軸ラベル")

#03 ヒストグラム
plt.hist(data,bins=10)
plt.show()

Matplotlib引数指定を駆使した書式設定・グラフデザイン

ここからはmatplotlib.pyplotで用いる代表的な引数を紹介します。引数設定を駆使することで良質なグラフデザインが実現できるでしょう。

グラフ共通

引数名 概要 デフォルト
alpha グラフの透過度を指定(0.0〜1.0) 1.0
color グラフの色を指定(“red”|”blue”|”yellow”|等)
詳細は公式ページ参照
label 凡例を指定
linestyle(ls) グラフ線の種類を指定(‘-‘|’–‘|’-.’|’:’|’ ‘|”|’solid’|’dashed’|’dashdot’|’dotted’)
linewidth(lw) 線の太さを指定 1.0
marker マーカーの形を指定(‘+’|’,’|’.’|’1’|’2’|’3’|’4′)
markeredgecolor(mec) マーカーの端色を指定(“red”|”blue”|”yellow”|等)
markerfacecolor(mfc) マーカー内部(fill)の色を指定(“red”|”blue”|”yellow”|等)
markersize(ms) マーカーのサイズを指定(1.0|2.0|3.0・・・)
markeredgewidth(mew) マーカーの幅を指定(1.0|2.0|3.0・・・)
visible グラフの表示可否を指定(True|False) True

ヒストグラム

引数名 概要 デフォルト
align 棒の表示位置(‘left’|‘mid’|‘right’) ‘mid’
bins 表示するビン(階級)の数 10
cumulative 累積ヒストグラムの出力可否(Trueだと最小値からヒストグラムを積む上げる) False
color ヒストグラムの色
histtype ヒストグラムの形状(‘bar’|‘barstacked’|‘step’|‘stepfilled’) bar
label 凡例
log 縦軸における対数目盛の表示可否(True|False) False
orientation ヒストグラムの出力方向(“vertical”|”horizontal”) “vertical”
range 表示するビンの範囲指定 range=(最小値、最大値)

【参考】Pythonでのデータ前処理・分析・可視化

当サイトではPythonを用いた「データ前処理手法」「データ分析」「グラフや表を用いた可視化」手法について幅広く解説しております。AI・機械学習にも応用できる内容となっておりますため、興味がある方は併せてご確認下さい。

Pythonを活用したデータ処理・分析手法一覧



【参考】Pythonとは・できること一覧

最後に

この記事が気に入ったら
フォローしてね!

本記事をシェア!
目次