Ich habe ein Diagramm, in dem verschiedene Farben für verschiedene Parameter verwendet werden und in dem verschiedene Linienstile für verschiedene Algorithmen verwendet werden. Ziel ist es, die Ergebnisse der verschiedenen Algorithmen mit ähnlichen Parametern zu vergleichen. Insgesamt verwende ich 4 verschiedene Farben und 3 verschiedene Linienstile für insgesamt 12 Diagramme im selben Diagramm.
Ich baue die Legende tatsächlich basierend auf Farben und ordne jede Farbe dem entsprechenden Parameter zu. Jetzt möchte ich eine zweite Legende im selben Diagramm mit der Bedeutung jedes Linienstils anzeigen. Ist es möglich das zu erreichen? Wie?
So sieht mein Code tatsächlich aus:
colors = ['b', 'r', 'g', 'c']
cc = cycle(c)
for p in parameters:
d1 = algo1(p)
d2 = algo2(p)
d3 = algo3(p)
pyplot.hold(True)
c = next(cc)
pyplot.plot(d1, '-', color=c, label="d1")
pyplot.plot(d1, '--', color=c)
pyplot.plot(d2, '.-', color=c)
pyplot.legend()
add_artist
... aus irgendeinem verrückten Grund entscheidet matplotlib, dass es besser weiß und löscht die ursprüngliche Legende, dann müssen Sie sie später wieder hinzufügen. Danke für die Hilfe, ich werde ein Bier trinken.