Datenpunkt-Farbtransparenz abhängig von Abstand zum Zielwert einstellen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
vanKey
User
Beiträge: 18
Registriert: Mittwoch 31. August 2022, 07:14

Hallo zusammen,

in meinem Minimalbeispiel habe ich 10 Datenpunkte im Wertebereich "0 bis 1", welche alle einen bestimmten Abstand zu einem Zielwert "0" aufweisen.
Je weiter der jeweilige Datenpunkt vom Zielwert entfernt ist, desto durchsichtiger soll seine Farbe sein. Die Grundfarbe soll aber für alle Datenpunkte gleich sein, z.B. rot.
Hat der Datenpunkt also den Wert "0", soll er voll-rot sein, hat er hingegen den Wert "1", soll er stark transparent-rot sein. Dazwischen sollen gleichmäßig Zwischen-rot-töne liegen.
Weiß jemand, wie ich das realisieren kann?

Code: Alles auswählen

import pandas as pd
import matplotlib.pyplot as plt

# x-Achse
xtick = [1,2,3,4,5,6,7,8,9,10]
xtick = pd.DataFrame(xtick,columns=["xtick"])
 
# Ziel
ziel = pd.DataFrame([
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
],columns=["ziel"])

# Daten
daten = pd.DataFrame([
1.0,
0.2,
0.4,
0.2,
0.9,
0.7,
0.0,
0.3,
0.4,
0.6,
],columns=["daten"])

# Plot
plt.figure(1)
plt.plot(xtick["xtick"],ziel["ziel"], '-o')
plt.plot(xtick["xtick"],daten["daten"], 'o', color="red")
VG
vanKey
__deets__
User
Beiträge: 14544
Registriert: Mittwoch 14. Oktober 2015, 14:29

Die Farbe kann auch als numpy-array angegeben werden, siehe https://stackoverflow.com/questions/332 ... atter-plot

Also einfach aus deinem Transparenz-Array durch (1 - v)*ROT das Farbarray bauen.
Antworten