Matplotlib, Legende mit mehreren verschiedenen Markern mit einem Label

8

Hier ist eine vereinfachte Darstellung der Situation:

Anstatt jeder Datenpunktmarkierung eine separate Beschriftung zu haben, möchte ich eine Beschriftung für eine Reihe verschiedener Markierungen haben können. Ich hätte gerne eine Legende wie:

%Vor%

Ich möchte das tun, weil ich in der endgültigen Handlung drei Sätze von Datenpunkten haben werde und 18 (3 Sätze * 6 Punkte / Satz) Marker / Label-Kombinationen werden chaotisch sein.

Ich verwende Matplotlib mit Python 2.7.

    
CrazyArm 13.02.2012, 14:38
quelle

1 Antwort

3

Hinweis : Diese Antwort dient als Leitfaden für die richtige Antwort - löst das angegebene Problem jedoch nicht. Bitte beachten Sie die folgende Bearbeitung für das Problem, dass Patch-Sammlungen in Matplotlib nicht unterstützt werden.

Ein Weg, um dies zu tun, wenn Sie vollständige Anpassung möchten, ist die Verwendung eines so genannten Proxy Artist:

%Vor%

Hier können Sie genau angeben, wie die Legende aussehen soll, und sogar nicht standardmäßige Plot-Formen (Patches) verwenden.

Bearbeiten: Es gibt einige Schwierigkeiten mit dieser Methode, nur matplotlib unterstützt diese Künstler in einer Legende ohne zu optimieren. Für Matplotlib v1.0 und früher sind die unterstützten Künstler wie folgt.

%Vor%

Ihre Anfrage von mehreren Streupunkten würde mit einer Patch Collection , was oben nicht unterstützt wird. In der Theorie mit Version 1.1 ist dies möglich, aber ich sehe nicht wie.

    
Hooked 13.02.2012 14:58
quelle

Tags und Links