pac*_*erg 4 python plot matplotlib
每当我想用matplotlib绘制多个2d折线图时,我定义了两个列表:
coloTypesList=["b","g","r","c","m","y","k"];
drawTypesList=["-","--","x"];
并在每次迭代时从这些中选择一对(对于每个图).当我绘制的图形少于22个时,这种方法只能帮助我.有关使用着色和绘图类型使其更通用的任何想法吗?
从您给出的列表中,您有21种组合:
>>> from itertools import product
>>> markers = ["-", "--", "x"]
>>> colors = ["b", "g", "r", "c", "m", "y", "k"]
>>> [a + b for a, b in product(colors, markers)]
['b-', 'b--', 'bx', 'g-', 'g--', 'gx', 'r-', 'r--', 'rx', 'c-', 'c--', 'cx', 'm-', 'm--', 'mx', 'y-', 'y--', 'yx', 'k-', 'k--', 'kx']
Run Code Online (Sandbox Code Playgroud)
但是,除了您目前使用的选项之外,还有更多选项:
线条样式或标记:
================ ===============================
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
================ ===============================
Run Code Online (Sandbox Code Playgroud)
颜色缩写:
========== ========
character color
========== ========
'b' blue
'g' green
'r' red
'c' cyan
'm' magenta
'y' yellow
'k' black
'w' white
========== ========
Run Code Online (Sandbox Code Playgroud)
请注意,您可以将颜色指定为RGB或RGBA元组((0, 1, 0, 1)
),以便创建完整的调色板.只需添加当前颜色的浅色/深色版本,就可以增加您的可能性.
我不确定你在一个唯一的情节中需要这么多的标记和颜色组合.鉴于您只使用标准颜色,您最多可以使用26*8 = 208种组合(嗯,白色不应该被考虑在内......).