2011-12-04 157 views
4

许多图表每当,我要绘制多个2D线的曲线图的曲线图与matplotlib,我定义两个列表:绘制与matplotlib

coloTypesList=["b","g","r","c","m","y","k"]; drawTypesList=["-","--","x"];

,然后从这些在每次迭代的一对(对于每个曲线图) 。这个方法只能帮助我绘制少于22张图。任何有关使这种颜色和绘图类型更一般化的想法?

+0

你需要在同一轴上绘制它们吗?无论如何,它在一组轴上> 22个数据集都没有真正的噪音? –

+0

确实如此,它很嘈杂,但有时可能会出现这种情况,我们必须同时绘制50-100个分布以查看大图。 – pacodelumberg

回答

8

从你给的名单,你有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'] 

但是有很多比你目前使用更多的选择:

线条样式或标记:

================ =============================== 
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 
================ =============================== 

颜色缩写:

========== ======== 
character color 
========== ======== 
'b'   blue 
'g'   green 
'r'   red 
'c'   cyan 
'm'   magenta 
'y'   yellow 
'k'   black 
'w'   white 
========== ======== 

请注意,您可以指定颜色RGB或RGBA元组((0, 1, 0, 1)),这样你就可以创建一个完整的调色板。只需添加当前颜色的明暗版本,就可以增加您的可能性。

我不确定在一个唯一的情节中你需要如此多的标记和颜色组合。由于您只使用标准颜色,因此最多有26 * 8 = 208个组合(好吧,白色不应该考虑在内......)。

+0

感谢您的回答,我认为208组合足以满足许多应用,并且能够绘制rbg提供更多组合。 – pacodelumberg

+0

...只要它们在视觉上可以区分。你可能想要最大化数据集计数的颜色之间的距离 –

+0

@Brian Cain这是我的观点,当你说“你有最多的” – joaquin