Ich erstellte ein einfaches Balkendiagramm mit matplotlib.pyplot
und seaborn
Bibliotheken. Ist es möglich, ein Farbschema von Balken so zu ändern, dass Balken, die höheren Zählwerten entsprechen, eine dunklere rote Farbe haben, während Balken niedriger Zählwerte helle rote Farben haben? Also, eine Art Heatmap, angewandt auf das Balkendiagramm. Wie kann ich es tun? Momentan habe ich zufällige Farben in meinem Zählplot.Balkendiagramm mit Heatmap-Farbpalette
df =
DeviceId Speed
1 30
1 35
1 31
2 20
2 25
3 80
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
result = df.groupby(["DeviceId"])['Speed'].aggregate(np.median).reset_index()
plt.figure(figsize=(12,8))
sns.barplot(x="DeviceId", y="Speed", data=result)
plt.ylabel('Median speed', fontsize=12)
plt.xlabel('Device ID', fontsize=12)
plt.xticks(rotation='vertical')
plt.show()
UPDATE:
Ich versuchte dies:
sns.barplot(x="DeviceId", y="Speed", data=result, palette=sns.cubehelix_palette(8))
aber dunklere Farben entsprechen nicht höher Zählwerte. Es sieht so aus, als würden die Farben den Balken mithilfe einer vordefinierten Farbpalette zufällig zugewiesen.
einen Tippfehler es auf dieser Linie Befehl lautet: Ergebnis = df.groupby ([ „DeviceId“]) ‚Speed‘ ] .aggregate (np.median) .reset_index() ("]") – tagoma
@edouard: Danke, behoben. – Dinosaurius