本記事では、Pythonのデータ可視化ライブラリであるmatplotlibを使用して、折れ線グラフの描画方法に焦点を当てました。まず、基本的なプロットの手法から始め、その後、グラフの見た目をカスタマイズする方法や複数のデータセットを重ねて表示する方法について解説しました。
matplotlibとは
プログラミング言語Pythonおよびその科学計算用ライブラリNumPyのためのグラフ描画ライブラリである。オブジェクト指向のAPIを提供しており、様々な種類のグラフを描画する能力を持つ。描画できるのは主に2次元のプロットだが、3次元プロットの機能も追加されてきている。描画したグラフを各種形式の画像(各種ベクトル画像形式も含む)として保存することもできる(Wiki参照)
matplotlib – Wikipedia
基本のプロット
まず、matplotlibを使った基本的な折れ線グラフの描画方法を見ていきましょう。以下のコードは、与えられたデータポイントを使って折れ線グラフを描画するシンプルな例です。
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 8, 3, 6, 5]
plt.plot(x,y)
plt.show()
散布図同様なにも設定がいらなければ、これだけでグラフにできます。なお、散布図の描き方はこちら
xとyの同じインデックスつまり(1,1)、(2,8)、(3,3)、(4,6)、(5,5)にプロットされています。
問題なくプロットされてます。では、前回同様に見た目をカスタマイズしていきます。
見た目のカスタマイズ
折れ線グラフの見た目をカスタマイズすることもできます。以下のコードでは、ラインの太さや色、マーカーの形状などを設定しています。
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 8, 3, 6, 5]
plt.plot(x,y,label='test',linewidth=3,color='b',marker='^',markeredgecolor="black")
plt.legend() #凡例
plt.show()
Tips:主要なカスタマイズキーワード
折れ線グラフ作成時に使用できる引数オプションが非常に多くあります。が必要最低限テーブルにまとめた分をおさえて記載します。
kywd | 入力例 | 備考 |
---|---|---|
x,y | [1,2,3,4,5] または 事前に定義したlistなど | array形式のもの ※必須 |
line関連 | ||
linewidth | linewidth=5 | ラインの太さ |
linestyle | linestyle=”dashdot” | ラインの形式 solidは実線 dashedは破線 dashdotは一点鎖線 dottedは点線 |
color | color=”red” または color=”#FFFF00″ または color=(1.0,0,1.0) | ラインの色 色名や16進数、RGBでの指定が可能 |
marker関連 | ||
marker | marker=”s” | マーカーの形 指定しないと○ *は星形など様々指定可 |
markersize | markersize=25/td> | マーカーのサイズ |
markerfacecolor | markerfacecolor=”b” または markerfacecolor=”#FFFF00″ , markerfacecolor=(1.0,0,1.0) | マーカーの色 色名や16進数、RGBでの指定が可能 |
markeredgewidth | markeredgewidth=3 | マーカーの枠の太さ |
markeredgecolor | markeredgecolor=”g” または markeredgecolor=”#ff0000″ , markeredgecolor=(0,0,1.0) | マーカーの枠の色 色名や16進数、RGBでの指定が可能 |
label | label=”label1″ | 凡例名 |
色見本
color example code: named_colors.py — Matplotlib 2.0.2 documentation
マーカー見本
lines_bars_and_markers example code: marker_reference.py — Matplotlib 2.0.2 documentation
見た目のカスタマイズ(目盛り線)
以下のコードでは、グリッド線を細かく指定しています。
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 8, 3, 6, 5]
plt.plot(x,y,label='test',linewidth=3,color='b',marker='^',markeredgecolor="black")
plt.legend()
plt.minorticks_on() #副目盛線表示状態
plt.grid(which='major',color='black',linestyle='-') #目盛線
plt.grid(which='minor',axis='y',color='grey',linestyle='-.') #副目盛線
plt.xlabel("X-label") #X軸ラベル
plt.ylabel("Y-label") #Y軸ラベル
plt.title("TEST GRAPH") #グラフタイトル
plt.show()
複数のデータセットを重ねて描画
複数のデータセットを一つのグラフに重ねて表示することも可能です。以下のコードでは、二つのデータセットを折れ線グラフと散布図として同じグラフ上に描画しています。
import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [1, 8, 3, 6, 5] y2 = [8, 2, 4, 3, 7] plt.plot(x,y,label='test',linewidth=3,color='b',marker='^',markeredgecolor="black") plt.scatter(x,y2,s=80, marker='p',c='red',label='test2') plt.legend() plt.minorticks_on() plt.grid(which='major',color='black',linestyle='-') plt.grid(which='minor',axis='y',color='grey',linestyle='-.') plt.xlabel("X-label") plt.ylabel("Y-label") plt.title("TEST GRAPH") plt.show()
matplotlibを使うことで簡単に折れ線グラフを描画し、見た目をカスタマイズすることができます。データ解析や可視化において、matplotlibは強力なツールとなりますので、ぜひ活用してみてください。
まとめ
本記事では、Pythonのmatplotlibライブラリを使用して折れ線グラフを描画する方法について詳しく解説しました。まず、基本的なプロット方法を紹介し、その後、グラフの見た目やスタイルをカスタマイズする方法について説明しました。さらに、複数のデータセットを同じグラフ上に重ねて表示する方法も示しました。
折れ線グラフは、データのトレンドや変化を視覚化するのに非常に有用な手法です。matplotlibを使えば、データサイエンティストや開発者はデータのパターンや関係性を素早く把握することができます。
また、matplotlibは豊富なカスタマイズオプションを提供しており、ユーザーは自分のニーズや好みに合わせてグラフをカスタマイズすることができます。この柔軟性により、様々なデータセットに対応した魅力的な可視化を実現することが可能です。
総括すると、本記事を通じて、読者はmatplotlibを使用して折れ線グラフを描画し、データを効果的に可視化する方法を学びました。これにより、データ分析や可視化のスキルを向上させ、データに潜むパターンや洞察を発見することができるでしょう。
コメント