Python 使用matplotlib绘制多个图形

Python 使用matplotlib绘制多个图形,python,plot,matplotlib,Python,Plot,Matplotlib,每当我想使用matplotlib绘制多个二维直线图时,我都会定义两个列表: coloTypesList=[“b”、“g”、“r”、“c”、“m”、“y”、“k”]; drawTypesList=[“-”、“-”、“x”] 并在每次迭代时从中选择一对(对于每个图形)。这种方法只在我要绘制的图形少于22个时才有帮助。你有没有想过在颜色和绘图类型上更通用一些?从你给出的列表中,你有21种组合: >>> from itertools import product >>>

每当我想使用matplotlib绘制多个二维直线图时,我都会定义两个列表:

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']
但是,有比您当前使用的选项更多的选项:

线条样式或标记:

请注意,您可以将颜色指定为RGB或RGBA元组(
(0,1,0,1)
),以便创建完整的调色板。只需添加当前颜色的浅色/深色版本,您的可能性就会倍增


我不确定你需要这么多的标记和颜色组合在一个单一的情节。如果只使用标准颜色,则最多有26*8=208种组合(白色不应考虑在内……。

是否需要将它们绘制在同一轴上?在一组轴上有超过22个数据集,这不是真的会产生噪音吗?没错,会有噪音,但有时我们必须同时绘制50-100个分布才能看到一幅大图。感谢你的回答,我认为208个组合对于许多应用来说已经足够了,能够画rbg提供了更多的组合…只要它们在视觉上是可分辨的。您可能希望最大化数据集颜色之间的距离count@Brian凯恩那是我说“你最多有”
================    ===============================
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
==========  ========