【发布时间】:2021-03-16 19:11:51
【问题描述】:
这是数据框中的一些示例数据
Country restricted V1% V2%
0 Algeria True 39.575812 60.424188
1 Angola True 56.931682 43.068318
2 Argent False 15.555556 84.4444
我使用堆积条形图来显示 3 个值。 V1 和 V2 已被归一化为 %ges,因此创建这样的基本图表很简单:
xx=df.plot(kind="bar", x='Country',stacked=True,figsize=(20,10);
之前已经订购了数据框
df=conjoint_ag_df.sort_values(['restricted',.Country'], ascending=[False,True])
以便同时按国家和真/假值显示。
这给了我一个像这样的基本显示。
我想要做的是安排所有具有 true 值的列在限制中具有一个颜色对,而那些具有 false 的列具有另一个颜色对 - 因为我首先按限制进行排序,这意味着颜色将沿着图形的 x 轴从前者变为后者。我可以按照这个示例对简单的条形图执行此操作
Color matplotlib bar chart based on value
以及使用这个的一对颜色
xx=_df.plot(kind="bar", x='Country',stacked=True,figsize=(20,10),color=['r','b'])
(Hideous)但我不知道如何将微分器应用于列以根据 True False 值将两个颜色值更改为两个不同的值。
【问题讨论】:
标签: python pandas matplotlib colors bar-chart