Dies ist ein Python -Modul, mit dem Farbkarten mit einer so ziemlich willkürlichen Größe gemäß der Arbeit von Kenneth Moreland erstellt werden
http://www.kennethmoreland.com/color-maps/
Diese Farbkarten ermöglichen die Zuordnung eines skalaren Werts von einem endlichen Bereich zu einer Farbe. Dies ist nützlich bei Wärme- oder räumlich-fillenden Kurven.
Objekte mit den vordefinierten Parametern können mit solchen make_* -Funktionen erstellt werden:
map = moreland.make_kindlmann()
Diese Objekte sind vorerst dazu bestimmt
Verwenden Sie das Skript get-color-map.py , um einzelne CSV-Dateien zu erhalten, die die ausgewählte Farbkarte beschreiben:
python3 get-color-map.py viridis 256 byte
Dadurch wird die gesättigte Farb -Viridis -Karte mit 256 Einträgen erstellt. Es ist auch möglich, die reale Version der Karte zu erstellen, indem es float stattdessen byte verwendet. Oder beides verwenden.
Die Ausgabe des obigen Befehls befindet sich in der Datei viridis-table-byte-0256.csv die mit den folgenden Zeilen startet/endet:
scalar,RGB_r,RGB_g,RGB_b
0.0,72,0,84
0.00392156862745098,73,0,86
0.00784313725490196,73,0,87
0.011764705882352941,74,0,89
0.01568627450980392,74,1,90
...
0.9882352941176471,236,232,21
0.9921568627450981,238,232,24
0.996078431372549,241,232,26
1.0,243,233,28
Der erste Wert ist der skalare Wert, der zwischen 0 und 1 liegt, indem der Bereich [a, b] der Werte abgebildet wird, die als Farbe auf den Bereich [0,1] dargestellt werden sollen, wählt die Farbe mit dem Skalarwert aus dem kartierten Wert am nächsten. Die Werte sind gleich Abstand, was bedeutet, dass der Skalarwert in der ersten Spalte nicht verwendet werden muss. Der Index in die Tabelle kann für einen Wert v mit (vA)/(BA) berechnet werden.
Die Farbwerte werden in diesem Fall als dreifach Bytes angegeben. Wenn der letzte Parameter für die get-color-maps.py Maps.py-Skript anstelle von float ist byte wird die Farbe als dreifache Floating-Punkt-Werte angegeben.
Das Skript gen-svg.py kann verwendet werden, um eine SVG-Datei zur Visualisierung von Farbkarten zu generieren. Es funktioniert nur für Byte -Karten mit 256 Farben. Als Beispiel kann die schwarze Körperkarte in black-body-table-byte-0256.csv mit visualisiert werden
./gen-svg.py black-body-table-byte-0256.csv > black-body-256.svg
Das Ergebnis sieht so aus:
Mit dem --fine Parameter hat jede diagonale Linie die gleiche Farbe. Das Ergebnis ist ein Bild mit einer viel höheren Auflösung:
Auf Fedora -Systemen sind nicht alle verwendeten Python -Pakete ab Fedora 33 verpackt. Installieren Sie die Pakete explizit zuerst mit
pip install colormath toyplot