Matplotlib を使用して図に線をプロットしました。次に、線上の個々のポイントのスタイル、具体的にはマーカーを設定したいと思います。どうすればよいでしょうか?
質問を明確にするために、行上のすべてのマーカーではなく、行上の個々のマーカーのスタイルを設定できるようにしたいと考えています。
ベストアンサー1
の呼び出しでキーワード argslinestyle
および/またはを指定します。marker
plot
たとえば、破線と青い円マーカーを使用する場合:
plt.plot(range(10), linestyle='--', marker='o', color='b', label='line with marker')
plt.legend()
同じことを行うショートカット呼び出し:
plt.plot(range(10), '--bo', label='line with marker')
plt.legend()
使用可能な線とマーカーのスタイルのリストは次のとおりです。
================ ===============================
character description
================ ===============================
- solid line style
-- dashed line style
-. dash-dot line style
: dotted line style
. point marker
, pixel marker
o circle marker
v triangle_down marker
^ triangle_up marker
< triangle_left marker
> triangle_right marker
1 tri_down marker
2 tri_up marker
3 tri_left marker
4 tri_right marker
s square marker
p pentagon marker
* star marker
h hexagon1 marker
H hexagon2 marker
+ plus marker
x x marker
D diamond marker
d thin_diamond marker
| vline marker
_ hline marker
================ ===============================
編集:コメントで要求されたように、任意のポイントのサブセットをマークする例:
import numpy as np
import matplotlib.pyplot as plt
xs = np.linspace(-np.pi, np.pi, 30)
ys = np.sin(xs)
markers_on = [12, 17, 18, 19]
plt.plot(xs, ys, '-gD', markevery=markers_on, label='line with select markers')
plt.legend()
plt.show()
この最後の例は、markevery
kwargを使用して、1.4以降で可能になりました。この機能ブランチmatplotlibの古いバージョンを使用している場合でも、折れ線グラフに散布図を重ねることで同じ結果を得ることができます。編集履歴詳細については。