Xip*_*ias 3 python colors matplotlib pandas seaborn
在 matplotlib(特别是熊猫)中,如何将特定颜色映射到用于区分颜色的列的值?
假设我有一个专栏......
>> df["country"]
DE
EN
US
DE
Run Code Online (Sandbox Code Playgroud)
...现在我想从 DataFrame 中绘制值,其中每个国家/地区的颜色都不同。如何确定哪个国家获得哪种颜色?带颜色图?不幸的是,我找不到合适的文档。
我想应用这样的字典:
# pseudo-code
colormapping = {"DE": "blue", ...}
df.plot(colorby="country", colormapping)
Run Code Online (Sandbox Code Playgroud)
编辑:
这是一个示例数据帧。
outlook play temperature country
0 sunny True 25 DE
1 sunny True 25 EN
2 overcast True 19 DE
3 rain False 21 US
4 overcast False 33 IT
5 rain False 27 EN
6 rain False 22 FR
7 overcast True 26 FR
8 sunny True 13 FR
9 sunny True 16 CH
Run Code Online (Sandbox Code Playgroud)
您可以通过matplotlib在using的palette参数中指定色调级别到相应颜色的字典映射categorical plot来实现seaborn,如下所示:
sns.set(style="whitegrid")
sns.swarmplot(x="outlook", y="temperature", hue="country", data=df, size=8,
palette={'DE':'b', 'EN':'g', 'US':'r','IT':'c', 'FR':'y', 'CH':'k'})
Run Code Online (Sandbox Code Playgroud)