この記事ではmatplotlibライブラリを使った折れ線グラフの描画方法をわかりやすく解説します。
サンプルコードをコピペしながらサクサク処理を試せますので、 ぜひ活用してみてくださいね。
折れ線グラフのシンプルな描画方法と、細かいオプション設定の方法を具体的に紹介していきます。
matplotlib.pyplot.Line2D の主な引数
matplotlibでは折れ線グラフを描画するmatplotlib.pyplot.plot
というメソッドが用意されていますが、
グラフ描画の設定は内部のmatplotlib.pyplot.Line2D
クラスを利用しているため、こちらを参考にします。
引数名 | 意味 | デフォルト |
---|---|---|
xdata | x座標の値 | |
ydata | y座標の値 | |
color または c | 線の色 | |
linestyle または ls | 線のスタイル | "solid" |
linewidth または lw | 線の太さ | |
marker | マーカーの種類 | |
markersize | マーカーの大きさ | |
markeredgecolor または mec | マーカー枠線の色 | |
markeredgewidth または mew | マーカー枠線の太さ | |
markerfacecolor または mfc | マーカーの塗りつぶし色 | |
markerfacecoloralt または mfcalt | 2つ目のマーカーの塗りつぶし色 | |
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()

"#008cff"
を指定
塗りつぶしのなかった領域が指定した色で塗りつぶされていることがわかります。
まとめ
今回はpythonのmatplotlibを使って折れ線グラフを描画する具体的な方法をご紹介しました。
ぜひ活用してみてください。


