Ich verwende die hier vorliegenden Daten, um diese Heat Map mit Seabohnen und Pandas zu erstellen.
Die Eingabe-CSV-Datei befindet sich hier: Ссылка
Code:
%Vor%Wie Sie aus der CSV-Datei sehen können, enthält es 3 diskrete Werte: 0, -1 und 1. Ich möchte eine diskrete Legende anstelle der Farbleiste. Kennzeichnung von 0 als A, -1 als B und 1 als C. Wie kann ich das tun?
Nun, es gibt definitiv mehr als eine Möglichkeit, dies zu erreichen. In diesem Fall, wenn nur drei Farben benötigt werden, würde ich die Farben selbst auswählen, indem ich ein LinearSegmentedColormap
erzeuge, anstatt sie mit cubehelix_palette
zu erzeugen. Wenn Farben genug wären, um cubehelix_palette
zu verwenden, würde ich die Segmente in colormap mit der Option boundaries
des Parameters cbar_kws
definieren. In beiden Fällen können die Ticks manuell mit set_ticks
und set_ticklabels
angegeben werden.
Das folgende Codebeispiel zeigt die manuelle Erstellung von LinearSegmentedColormap
und enthält Kommentare zur Angabe von Grenzen, wenn stattdessen ein cubehelix_palette
verwendet wird.
Der Link von @Fabio Lamanna ist ein guter Anfang.
Von dort aus möchten Sie immer noch Farbbalkenbeschriftungen an der richtigen Stelle setzen und Hilfsstrichbeschriftungen verwenden, die Ihren Daten entsprechen.
Wenn Sie davon ausgehen, dass Ihre Daten gleichmäßig verteilt sind, entsteht eine nette diskrete Farbleiste:
Im Grunde geht es darum, die Seaborn-Farbleiste zu deaktivieren und sie durch eine diskretisierte Farbleiste zu ersetzen.
%Vor%Tags und Links python matplotlib pandas seaborn