Udemy の Webスクレイピングコースを 90%OFF で学べます!! >> クーポンは10/27(金)まで

【python】matplotlibで折れ線グラフを描画する方法

この記事ではmatplotlibライブラリを使った折れ線グラフの描画方法をわかりやすく解説します。

サンプルコードをコピペしながらサクサク処理を試せますので、 ぜひ活用してみてくださいね。

折れ線グラフのシンプルな描画方法と、細かいオプション設定の方法を具体的に紹介していきます。


目次

matplotlib.pyplot.Line2D の主な引数

matplotlibでは折れ線グラフを描画するmatplotlib.pyplot.plotというメソッドが用意されていますが、

グラフ描画の設定は内部のmatplotlib.pyplot.Line2Dクラスを利用しているため、こちらを参考にします。

引数名意味デフォルト
xdatax座標の値
ydatay座標の値
color または c線の色
linestyle または ls線のスタイル"solid"
linewidth または lw線の太さ
markerマーカーの種類
markersizeマーカーの大きさ
markeredgecolor または mecマーカー枠線の色
markeredgewidth または mewマーカー枠線の太さ
markerfacecolor または mfcマーカーの塗りつぶし色
markerfacecoloralt または mfcalt2つ目のマーカーの塗りつぶし色
fillstyleマーカーの塗りつぶしスタイル
antialiased または aaアンチエイリアス処理の有無
アンチエイリアスあり: True
アンチエイリアスなし:False
False

基本的な折れ線グラフ

まずは基本的な折れ線グラフを描画してみましょう。

import matplotlib.pyplot as plt

xdata = [1, 2, 3, 4, 5]
ydata = [20, 30, 25, 40, 50]
# 基本的な折れ線グラフを描画
plt.plot(xdata, ydata)
plt.show()

線の設定

線の色(color)

折れ線グラフの線の色を指定してみましょう。

import matplotlib.pyplot as plt

xdata = [1, 2, 3, 4, 5]
ydata = [20, 30, 25, 40, 50]
# 線の色を指定して、折れ線グラフを描画
plt.plot(xdata, ydata, color="#ff00dd")
plt.show()
線の色を"#ff00dd"と指定
デフォルトの線の色

上図のようにデフォルト色から線の色が変わっていることがわかります。


matplotlibで指定できる色はこちらが参考にになりますよ!!


線のスタイル(linesytle)

折れ線グラフの線のスタイルを指定してみましょう。

import matplotlib.pyplot as plt

xdata = [1, 2, 3, 4, 5]
ydata = [20, 30, 25, 40, 50]
# 線のスタイルを指定して、折れ線グラフを描画
plt.plot(xdata, ydata, linestyle="dashed", color="#ff00dd")
plt.show()
線のスタイルを「破線」に指定
デフォルトの線のスタイル(実線)

線のスタイルが変わっていることがわかります。

指定できる線のスタイルは以下の通りです。

引数linestyleの値意味
"-" または "solid"実線
"--" または "dashed"破線
"-." または "dashdot"破線&点線
":" または "dotted"点線
"none" または "None"または"" または " "線なし

線の太さ(linewidth)

折れ線グラフの線の太さを指定してみましょう。

import matplotlib.pyplot as plt

xdata = [1, 2, 3, 4, 5]
ydata = [20, 30, 25, 40, 50]
# 線の太さを指定して、折れ線グラフを描画
plt.plot(xdata, ydata, linewidth=10, color="#ff00dd")
plt.show()
線の太さを10と指定
デフォルトの線の太さ

線の太さがデフォルトより大きくなっていることがわかります。


マーカーの設定

マーカーの種類(marker)

折れ線グラフのマーカーの種類を指定してみましょう。

import matplotlib.pyplot as plt

xdata = [1, 2, 3, 4, 5]
ydata = [20, 30, 25, 40, 50]
# マーカーの種類を指定して、折れ線グラフを描画
plt.plot(xdata, ydata, marker="s", color="#ff00dd")
plt.show()
マーカーの種類に"s"(四角形)を指定
デフォルト(マーカーなし)

xdata, ydataの座標にマーカーがプロットされていることがわかります。


指定できる主なマーカーの種類は以下の通りです。

引数markerの値意味
"."
","ピクセル
"o"
"^"三角形
"v"逆三角形
">"右向き三角形
"<"左向き三角形
"|"垂直線
"-"水平線
"1"Yの字
"2"下向きYの字
"3"右向きYの字
"4"下向きYの字
"8"正八角形
"s"四角形
"p"正五角形
"P"プラスパーク
"*"星形
"h"正六角形(上頂点)
"H"正六角形(横頂点)
"+"プラス(+)
"x"バツ印
"X"バツマーク
"d"細長いひし形
"D"ひし形

マーカーの大きさ(markersize)

折れ線グラフのマーカーの大きさを指定してみましょう。

import matplotlib.pyplot as plt

xdata = [1, 2, 3, 4, 5]
ydata = [20, 30, 25, 40, 50]
# マーカーの大きさを指定して、折れ線グラフを描画
plt.plot(xdata, ydata, markersize=15, marker="s", color="#ff00dd")
plt.show()
マーカーの大きさを15と指定
デフォルトのマーカーの大きさ

プロットされているマーカーが大きくなっていることがわかりますね。


マーカーの枠線の色(markeredgecolor)

折れ線グラフのマーカーの枠線の色を指定してみましょう。

import matplotlib.pyplot as plt

xdata = [1, 2, 3, 4, 5]
ydata = [20, 30, 25, 40, 50]
# マーカーの枠線の色を指定して、折れ線グラフを描画
plt.plot(xdata, ydata, mec="k", markersize=15, marker="s", color="#ff00dd")
plt.show()
マーカーの枠線の色に"k"(黒)を指定
デフォルト(マーカー枠線なし)

折れ線グラフにプロットされているマーカーに黒の枠線が描画されていることがわかります。


マーカーの枠線の太さ(markeredgewidth)

折れ線グラフのマーカーの枠線の太さを指定してみましょう。

import matplotlib.pyplot as plt

xdata = [1, 2, 3, 4, 5]
ydata = [20, 30, 25, 40, 50]
# マーカーの枠線の太さを指定して、折れ線グラフを描画
plt.plot(xdata, ydata, mew=5, mec="k", markersize=15, marker="s", color="#ff00dd")
plt.show()
マーカー枠線の太さに5を指定
デフォルトのマーカー枠線の太さ

プロットされているマーカーの枠線が太くなっていることがわかりますね。


マーカーの塗りつぶしスタイル(fillstyle)

マーカー塗りつぶしスタイルを指定してみましょう。

import matplotlib.pyplot as plt

xdata = [1, 2, 3, 4, 5]
ydata = [20, 30, 25, 40, 50]
# マーカーの塗りつぶしスタイルを指定して、折れ線グラフを描画
plt.plot(xdata, ydata, fillstyle="right", mec="k", markersize=15, marker="s", color="#ff00dd")
plt.show()
塗りつぶしスタイルに"right"を指定
デフォルトの塗りつぶしスタイル("full")

上図のように、マーカーの塗りつぶし領域を指定することができます。

指定できる塗りつぶしスタイルは以下の通りです。

引数fillstyleの値意味
"full"全体を塗りつぶし
"left"左半分
"right"右半分
"bottom"下半分
"top"上半分
"none"塗りつぶしなし

マーカーの塗りつぶし色(markerfacecolor)

マーカーの塗りつぶし色を指定してみましょう。

import matplotlib.pyplot as plt

xdata = [1, 2, 3, 4, 5]
ydata = [20, 30, 25, 40, 50]
# マーカーの種類を指定して、折れ線グラフを描画
plt.plot(xdata, ydata, mfc="g", mec="k", markersize=15, marker="s", color="#ff00dd")
plt.show()
マーカー塗りつぶし色に"g"(緑)を指定
デフォルトのマーカー塗りつぶし色(線の色と同一)

上図のように、プロットされるマーカーの中身の色を指定することができます。


2つ目のマーカーの塗りつぶし色(markerfacecoloralt)

2つ目のマーカーの塗りつぶし色を指定してみましょう。

import matplotlib.pyplot as plt

xdata = [1, 2, 3, 4, 5]
ydata = [20, 30, 25, 40, 50]
# マーカーの種類を指定して、折れ線グラフを描画
plt.plot(xdata, ydata, mfcalt="#008cff", mfc="g", fillstyle="right", mec="k", markersize=15, marker="s", color="#ff00dd")
plt.show()
2つ目の塗りつぶし色に"#008cff"を指定
デフォルトの2つ目塗りつぶし色(色なし)

塗りつぶしのなかった領域が指定した色で塗りつぶされていることがわかります。


まとめ

今回はpythonのmatplotlibを使って折れ線グラフを描画する具体的な方法をご紹介しました。

ぜひ活用してみてください。

よかったらシェアしてね!
目次