qshinoの日記

Powershell関係と徒然なこと

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)

参照

http://ailaby.com/plot_marker/