4 Stimmen

Plotten vieler Diagramme mit matplotlib

Wann immer ich mehrere 2D-Liniendiagramme mit matplotlib zeichnen möchte, definiere ich zwei Listen:

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

und wählen bei jeder Iteration (für jeden Graphen) ein Paar daraus aus. Diese Methode hilft mir nur, wenn ich weniger als 22 Diagramme zu zeichnen habe. Haben Sie eine Idee, wie man das mit der Färbung und dem Zeichnungstyp verallgemeinern kann?

8voto

joaquin Punkte 77782

Aus den von Ihnen angegebenen Listen ergeben sich 21 Kombinationen:

>>> 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']

Es gibt jedoch viel mehr Möglichkeiten als die, die Sie derzeit nutzen:

Linienstil oder Markierung:

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

Farbabkürzungen:

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

Beachten Sie, dass Sie Farben als RGB- oder RGBA-Tupel angeben können ( (0, 1, 0, 1) ), damit Sie eine vollständige Palette erstellen können. Durch das Hinzufügen von hellen/dunklen Versionen Ihrer aktuellen Farben vervielfachen Sie Ihre Möglichkeiten.

Ich bin mir nicht sicher, ob man so viele Kombinationen von Markern und Farben auf einer einzigen Fläche braucht. Wenn Sie nur die Standardfarben verwenden, haben Sie maximal 26 * 8 = 208 Kombinationen (wobei Weiß nicht berücksichtigt werden sollte...).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X