初心者でもPythonを使ってみよう

趣味と実益を兼ねたPython学習記

【スポンサーリンク】



【matplotlib.pyplot】plotメソッドでグラフを描画する方法【Python】

plotメソッドによるグラフの描画

plotメソッドでグラフを描画する方法をまとめます。

グラフ表示するデータの準備

最初に以下のコードを実行し、表示させるグラフのデータを準備します。モジュールのインポートも一緒に実行しています。

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2*np.pi, 25)
y = np.sin(x)

以下の例では、subplots関数を用いてグラフオブジェクトを生成しています。subplots関数を用いたグラフの描画については、以下の記事を参照してください。

plotメソッドでグラフを描画

Axesオブジェクトに対してplotメソッドを実行することで、グラフにプロットすることができます。

例:

fig, ax = plt.subplots()
ax.plot(x, y)

出力:

f:id:vigilantPotato:20190716234812p:plain

オプションを何も設定せずに描画すると、上図の様に青線でグラフが表示されますが、以下に示す様に、オプションを用いてグラフの外観を細かく設定することができます。

マーカーの設定

plotメソッドに各マーカーに対応した文字を渡すことで、様々な形のマーカーを設定することができます。

plotメソッドに渡す文字列とマーカーの関係は以下の通りです。

文字列 マーカー 文字列 マーカー
"." point "," pixel
"o" circle "v" triangle down
"^" triangle up "<" triangle left
">" triangle right "1" tri_down
"2" tri_up "3" tri_left
"4" tri_right "s" square
"p" pentagon "*" star
"h" hexagon1 "H" hexagon2
"+" plus "x" x
"D" diamond "d" thin_diamond
"|" vline "_" hline

実際に各マーカーでプロットした例を以下に示します。


例:

fig, ax = plt.subplots()
ax.plot(x, y, ".", label="point")
ax.plot(x, y-1, ",", label="pixel")
ax.plot(x, y-2, "o", label="circle")
ax.plot(x, y-3, "v", label="triangle down")
ax.plot(x, y-4, "^", label="triangle up")
ax.plot(x, y-5, "<", label="triangle left")
ax.plot(x, y-6, ">", label="triangle right")
ax.legend(bbox_to_anchor=(1, 1),)

出力:

f:id:vigilantPotato:20190718061232p:plain


例:

fig, ax = plt.subplots()
ax.plot(x, y, "1", label="tri_down")
ax.plot(x, y-1, "2", label="tri_up")
ax.plot(x, y-2, "3", label="tri_left")
ax.plot(x, y-3, "4", label="tri_right")
ax.plot(x, y-4, "s", label="square")
ax.plot(x, y-5, "p", label="pentagon")
ax.plot(x, y-6, "*", label="star")
ax.legend(bbox_to_anchor=(1, 1))

出力:

f:id:vigilantPotato:20190718061324p:plain


例:

fig, ax = plt.subplots()
ax.plot(x, y, "h", label="hexagon1")
ax.plot(x, y-1, "H", label="hexagon2")
ax.plot(x, y-2, "+", label="plus")
ax.plot(x, y-3, "x", label="x")
ax.plot(x, y-4, "D", label="diamond")
ax.plot(x, y-5, "d", label="thin_diamond")
ax.plot(x, y-6, "|", label="vline")
ax.plot(x, y-7, "_", label="hline")
ax.legend(bbox_to_anchor=(1, 1))

出力:

f:id:vigilantPotato:20190718061348p:plain

線種の設定

各データ点でのマーカーによるプロットではなく、データ間を線で繋げて表示させたい場合は、以下の表に示す線種を設定するための文字列をplotに渡します。

文字列 線種
"-" solid
"--" dashed
"-." dash-dot
":" dotted


例:

fig, ax = plt.subplots()
ax.plot(x, y, "-", label="solid")
ax.plot(x, y-1, "--", label="dashed")
ax.plot(x, y-2, "-.", label="dash-dot")
ax.plot(x, y-3, ":", label="dotted")
ax.legend(bbox_to_anchor=(1, 1))

出力:

f:id:vigilantPotato:20190718061413p:plain

色の設定

マーカーや線の色を設定するには、以下の文字をplotに渡します。

文字列
"b" blue
"g" green
"r" red
"c" cyan
"m" magenta
"y" yellow
"k" black
"w" white


例:

fig, ax = plt.subplots()
ax.plot(x, y, "b", label="blue")
ax.plot(x, y-1, "g", label="green")
ax.plot(x, y-2, "r", label="red")
ax.plot(x, y-3, "c", label="cyan")
ax.plot(x, y-4, "m", label="magenta")
ax.plot(x, y-5, "y", label="yellow")
ax.plot(x, y-6, "k", label="black")
ax.plot(x, y-7, "w", label="white")
ax.legend(bbox_to_anchor=(1, 1))

出力:

f:id:vigilantPotato:20190718061455p:plain

組み合わせて設定

マーカー、線種、色は組み合わせてplotに渡すことで、一括して設定することができます。

例えば、点線、マーカー:〇、青色でプロットする場合は、以下の様に各設定文字をつなげてplotメソッドに渡します。

例:

fig, ax = plt.subplots()
ax.plot(x, y, "--ob")

出力:

f:id:vigilantPotato:20190716235320p:plain

[↑ 目次へ]