Interaktive Auswahl von Serien in einem Matplotlib-Plot

8

Ich habe nach einem Weg gesucht, um auszuwählen, welche Serien in einem Plot sichtbar sind, nachdem ein Plot erstellt wurde.

Ich brauche das, weil ich oft Plots mit vielen Serien habe. Sie sind zu viele, um gleichzeitig zu plotten, und ich muss schnell und interaktiv auswählen, welche Serien sichtbar sind. Idealerweise wird es ein Fenster mit einer Liste von Reihen in dem Diagramm und Kontrollkästchen geben, wo die Reihe mit dem aktivierten Kontrollkästchen sichtbar ist.

Weiß jemand, ob dies bereits irgendwo implementiert wurde? Wenn nicht, kann mir dann jemand sagen, wie ich es selbst machen kann?

Danke!

Omar

    
omar 15.10.2012, 08:31
quelle

3 Antworten

8

Es hängt alles davon ab, wie viel Aufwand Sie bereit sind zu tun und was die genauen Anforderungen sind, aber Sie können darauf wetten, dass es bereits irgendwo implementiert wurde: -)

Wenn das Ziel hauptsächlich darin besteht, das Bild nicht zu überladen, kann es ausreichen, die eingebauten Funktionen zu verwenden; Den entsprechenden Code finden Sie in der Matplotlib-Beispielbibliothek:

Wenn Sie wirklich eine Benutzeroberfläche haben möchten, um die Leistung zu schützen, indem Sie die Anzahl der Diagramme / Daten begrenzen, verwenden Sie normalerweise eine GUI-Toolbox wie GTK, QT oder WX. Hier finden Sie einige Artikel und Beispielcode:

Dirk 14.11.2012, 00:00
quelle
2

Eine Liste mit Checkboxen ist in Ordnung, wenn Sie ein paar Plots oder weniger haben, aber für mehr Plots würde ein Popup-Menü wahrscheinlich besser sein. Ich bin mir nicht sicher, ob dies mit Matplotlib möglich ist.

Die Art und Weise, wie ich dies einmal implementiert habe, war, einen Schieberegler zu verwenden, um das Diagramm aus einer Liste auszuwählen - im Grunde verwenden Sie den Schieberegler, um den Index der Serie festzulegen, die angezeigt werden soll. Ich hatte ein paar hundert Serien pro Datensatz, also war es eine gute Möglichkeit, schnell durch sie zu blättern.

Mein Code für die Einrichtung war ungefähr so:

%Vor%

Hier ist ein Beispiel:

    
silvado 15.10.2012 08:58
quelle
0

Nun, da plot.ly ihre Bibliotheken geöffnet hat, ist es eine wirklich gute Wahl für interaktive Plots in Python. Siehe zum Beispiel: Ссылка . Sie können auf die Legendenspuren klicken und Spuren auswählen / abwählen.

Wenn Sie in ein Ipython / Jupyter-Notebook einbetten möchten, ist das auch einfach: Ссылка

    
Bob Baxley 24.02.2016 01:17
quelle

Tags und Links