【发布时间】:2017-12-05 04:17:04
【问题描述】:
我使用matplotlib.pyplot 和seaborn 库创建了一个简单的条形图。是否可以更改条的配色方案,使对应于较高计数的条具有较深的红色,而低计数的条具有浅红色?因此,某种适用于条形图的热图。我该怎么做?目前,我的计数图中有随机颜色。
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()
更新:
我试过这个:
sns.barplot(x="DeviceId", y="Speed", data=result, palette=sns.cubehelix_palette(8))
但较深的颜色不对应较高的计数。看起来颜色是使用预定义的调色板随机分配给条形的。
【问题讨论】:
-
这一行命令有错字:result = df.groupby(["DeviceId"])'Speed'].aggregate(np.median).reset_index() ("]")
-
@edouard:谢谢,已修复。
标签: python pandas matplotlib seaborn