linestyleをカスタマイズする方法【matplotlib】

linestyleには’solid’,’dashed’等のあらかじめ用意されている線の種類を指定することができますが、それ以外にもタプルを渡すことによって自分の思い通りのlinestyleにカスタマイズすることができます。

linestyleのカスタマイズのやり方

指定方法

linesytle = (オフセット, (線1の長さ, 空白1の長さ, 線2の長さ, 空白2の長さ,······))

上のタプルを見るとわかるように、線を複数組み合わせることができます。
例えば、下のようなdashdotを描こうと思ったら’長い線’と’点(短い線)’を組み合わせる必要があります。

カスタマイズされた線スタイルの線
  • オフセット : 何ptずらすかを指定する。

import matplotlib.pyplot as plt
import numpy as np

plt.hlines(1, -5, 5, linestyle=(0, (1, 0)))
plt.hlines(1.5, -5, 5, linestyle=(0, (1, 10)))
plt.hlines(2, -5, 5, linestyle=(0, (1, 1)))
plt.hlines(2.5, -5, 5, linestyle=(0, (5, 2, 1, 2)))
plt.hlines(3, -5, 5, linestyle=(0, (5, 2, 1, 2, 1, 2)))
plt.hlines(3.5, -5, 5, linestyle=(5, (5, 2, 1, 2, 1, 2)))
plt.hlines(4, -5, 5, linestyle=(0, (1, 2, 3, 2, 5, 2, 7, 2, 9, 2)))

y = np.array([1,1.5,2,2.5,3,3.5,4])
ticks = ['(0, (1, 0)))','(0, (1, 10)))','(0, (1, 1)))','(0, (5, 2, 1, 2)))','(0, (5, 2, 1, 2, 1, 2)))','(5, (5, 2, 1, 2, 1, 2)))','(0, (1, 2, 3, 2, 5, 2, 7, 2, 9, 2)))']
plt.yticks(y,ticks)
plt.show()
カスタマイズされた線スタイルの列挙

デフォルトで用意されているlinestyleの種類はこちらからどうぞ

コメント