栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Seaborn-根据色相名称更改条形颜色

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Seaborn-根据色相名称更改条形颜色

A.使用颜色列表

确保在两个图中相同类别的颜色相同的最简单解决方案是在创建绘图时手动指定颜色。

# First bar plotax = sns.barplot(data=a, x='Scenario', y='Duration',      hue='Program', ci=None, palette=["C0", "C1", "k"])# ...# Second bar plotax2 = sns.barplot(data=b, x='Scenario', y='Duration',       hue='Program', ci=None, palette=["C0", "C1", "C2", "k"])

颜色

"C2"
(颜色周期的第三种颜色)仅存在于存在程序C的第二个图中。

B.使用字典

除了列表以外,您还可以使用字典,将

hue
列中的值映射到颜色。

palette ={"A": "C0", "B": "C1", "C": "C2", "Total": "k"}ax = sns.barplot(data=a, x='Scenario', y='Duration', hue='Program', palette=palette)# ...ax2 = sns.barplot(data=b, x='Scenario', y='Duration', hue='Program', palette=palette)

C.自动词典

最后,您可以根据

hue
列中的值自动创建此词典。这样做的好处是您不需要事先知道颜色,也不需要知道各个数据框中的值。

import seaborn as snsimport pandas as pdimport matplotlib.pyplot as pltsns.set_style('darkgrid')fig, ax = plt.subplots()a = pd.Dataframe({'Program': ['A', 'A', 'B', 'B', 'Total', 'Total'],       'Scenario': ['X', 'Y', 'X', 'Y', 'X', 'Y'],       'Duration': [4, 3, 5, 4, 9, 7]})b = pd.Dataframe({'Program': ['A', 'A', 'B', 'B', 'C', 'C', 'Total', 'Total'],       'Scenario': ['X', 'Y', 'X', 'Y', 'X', 'Y', 'X', 'Y'],       'Duration': [4, 3, 5, 4, 3, 2, 12, 9]})unique = a["Program"].append(b["Program"]).unique()palette = dict(zip(unique, sns.color_palette(n_colors=len(unique))))palette.update({"Total":"k"})ax = sns.barplot(data=a, x='Scenario', y='Duration',      hue='Program', ci=None, palette=palette)plt.tight_layout()plt.figure()ax2 = sns.barplot(data=b, x='Scenario', y='Duration',       hue='Program', ci=None,  palette=palette)plt.tight_layout()plt.show()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669224.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号