matplotlib marker
matplotlib marker
markerは35種類
使用例
plt.plot(x, y, marker='o')
● がマーカー
サイズ指定
plt.plot(x, y, marker='o', markersize=10)
code
import numpy as np import matplotlib.pyplot as plt import math from collections import OrderedDict from matplotlib.markers import TICKLEFT, TICKRIGHT, TICKUP, TICKDOWN, CARETLEFT, CARETRIGHT, CARETUP, CARETDOWN x = np.linspace(0, 2.0 * math.pi, 20) y = np.sin(x) markers = OrderedDict([ ('.', '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'), ('8', 'octagon'), ('s', 'square'), ('p', 'pentagon'), ('*', 'star'), ('h', 'hexagon1'), ('H', 'hexagon2'), ('+', 'plus'), ('x', 'x'), ('D', 'diamond'), ('d', 'thin_diamond'), ('|', 'vline'), ('_', 'hline'), (TICKLEFT, 'tickleft'), (TICKRIGHT, 'tickright'), (TICKUP, 'tickup'), (TICKDOWN, 'tickdown'), (CARETLEFT, 'caretleft'), (CARETRIGHT, 'caretright'), (CARETUP, 'caretup'), (CARETDOWN, 'caretdown'), ('None', 'nothing'), (None, 'nothing'), (' ', 'nothing'), ('', 'nothing') ]) plt.figure(figsize=(9, len(markers)*1.8)) i = 1 for m, desc in markers.items(): plt.subplot(math.ceil(len(markers)/2.0), 2, i) plt.plot(x,y,marker=m,markersize=10) title = m if type(m) != str: title = str(m) title = 'marker='+title+'('+desc+')' plt.title(title) plt.xlim(x.min(), x.max()) i += 1 plt.tight_layout()
結果
point、pixel、circle marker は、それぞれ .,oです。
triangle_down、triangle_up、triangle_left、triangle_right
marker は、それぞれ v^<>です。
tri_down、tri_up、tri_left、tri_right
marker は、それぞれ文字型の 1234です。
octagon、square、pentagon、star、hexagon1、hexagon2
marker は、それぞれ文字型の 8sp*hHです。
plus、x
marker は、それぞれ +xです。
diamond、thin_diamond
marker は、それぞれ Ddです。
vline、hline
marker は、それぞれ |_です。
tickleft、tickright、tickup、tickdown
marker は、それぞれ数値型の 0123です。
caretleft、caretright、caretup、caretdown
marker は、それぞれ数値型の 4567です。
nothing
marker は、それぞれ‘None’None です。
文字列マーカー
marker=’$…$’の書式で文字列を指定すると、その文字列がマーカーになります。
plt.plot(x, y, marker='$ABC$', markersize=30)