Pythonによるデータ分析をする際にグラフなどの可視化でよく利用されるmatplotlibで線の色や形状を変更する方法について解説します。
matplotlibで線の色や形状を変更する方法
matplotlibでグラフ描画をしている際には、線の色や形状を変更したくなることがよくあります。本記事ではmatplotlibにおけるplotの描画で線の色や形状を変更する方法を紹介します。
線の色を変更する方法
matplotlibで描画する線の色を変更するには、plotメソッドのcolor引数に変更したい色の情報を指定します。
以下にいくつかの色の指定方法を示します。
import matplotlib.pyplot as plt import numpy as np plt.style.use('seaborn-whitegrid') x = np.linspace(0, 10, 100) # 色を文字列で指定する。 plt.plot(x, x, color='red') # 色を短縮文字列で指定する plt.plot(x, x+1, color='b') # グレースケールの範囲で指定する (0~1) plt.plot(x, x+2, color='0.5') # 16進数のカラーコードで指定する plt.plot(x, x+3, color='#ff6c00') # HTMLのカラーネームで指定する plt.plot(x, x+4, color='darkgreen') plt.show()
色を指定する場合には、以下に示すようにいくつかの指定方法があります。
指定方法 | 内容 |
---|---|
色を文字列で指定 | ‘red’ (赤), ‘blue’ (青), ‘green’ (緑)などの文字列で指定します。 |
色を短縮した文字列で指定す | ‘r’ (赤), ‘b’ (青), ‘g’ (緑)など、色を短縮した文字列で指定します。 |
グレースケールの範囲で指定 | 0~1のグレースケールの範囲で指定します。引数に指定する際には’0.5’のように文字列として指定します。 |
16進数のカラーコードで指定 | ‘#ff6c00’ (鮮やかな赤みの橙)のように16進数のカラーコードで指定します。 |
HTMLのカラーネームで指定 | ‘darkgreen’のようにHTMLで定義されているカラーネームで指定します。 |
線の形状を変更する方法
matplotlibで描画する線の形状を変更するには、plotメソッドのlinestyle引数に変更したい形状の情報を指定します。
以下にいくつかの線の形状の指定方法を示します。
import matplotlib.pyplot as plt import numpy as np plt.style.use('seaborn-whitegrid') x = np.linspace(0, 10, 100) # ===== 線のスタイルを変更する # 通常の線で表示する plt.plot(x, x, linestyle='solid') # 点線で表示する plt.plot(x, x+1, linestyle='dashed') # 点線+ドットの線で表示する plt.plot(x, x+2, linestyle='dashdot') # ドットの線で表示する plt.plot(x, x+3, linestyle='dotted') # ===== 省略形で指定する # 通常の線で表示する(=solid) plt.plot(x, x+4, linestyle='-') # 点線で表示する(=dashed) plt.plot(x, x+5, linestyle='--') # 点線+ドットの線で表示する(=dashdot) plt.plot(x, x+6, linestyle='-.') # ドットの線で表示する(=dotted) plt.plot(x, x+7, linestyle=':') plt.show()
線の形状を指定する場合には、以下に示すようにいくつかの指定方法があります。なお、文字列で指定する方法と記号を用いて指定する方法があります。
指定方法 | 文字列で指定する方法 | 記号で指定する方法 |
---|---|---|
通常の線で表示 | ‘solid’を指定します。 | ‘-‘を指定します。 |
点線で表示 | ‘dashed’を指定します。 | ‘–‘を指定します。 |
点線+ドットの線で表示 | ‘dashdot’を指定します。 | ‘-.’を指定します。 |
ドットの線で表示 | ‘dotted’を指定します。 | ‘:’を指定します。 |
線の色と形状を一括で変更する方法
線の色と形状を一括で変更する場合には、上記で紹介した色の指定と形状の指定をまとめて指定することができます。
以下にいくつかの例を紹介します。
import matplotlib.pyplot as plt import numpy as np plt.style.use('seaborn-whitegrid') x = np.linspace(0, 10, 100) # ===== 腺の色と形状を一括で指定する # 通常の線 + 青 plt.plot(x, x, '-b') # 点線 + マゼンタ plt.plot(x, x+1, '--m') # 点線ドット + 黒 plt.plot(x, x+2, '-.k') # ドット + 緑 plt.plot(x, x+3, ':g') plt.show()
上記のように’-b’のように形状とまとめて指定することができます。また、順番を入れ替えて’b-‘のようにしても同様の結果が得られます。
Note
matplotlib.pyplot.plotの公式ドキュメントはこちらを参照してください。
ソースコード
上記で紹介しているソースコードについてはgithubにて公開しています。参考にしていただければと思います。