【发布时间】:2019-10-02 21:25:27
【问题描述】:
我想在每次运行此条形图时设置相同的颜色。例如:B1 = 绿色、B2、红色、B3 = 蓝色等。
到目前为止,我已经尝试过 .setcolor,但它没有让我为单个框号(B1、B2 等)设置颜色——我想不通。
import pandas as pd
import seaborn as sns
d = {'DAY': [55,56,58,65], 'B1': [2,6,6,1], 'B2': [1,0,21,0], 'B3': [0,1,0,1]}
data1= pd.DataFrame(data = d)
sns.set()
data1.set_index('DAY').plot(kind='bar', stacked=True)
这可行,但一旦我有新数据,它会为 B1、B2、B3 等分配不同的颜色..
例如,让我们给它一些玩具数据:
t = {'DAY': [55,56,58,65], 'B1': [2,6,6,1], 'B3': [0,1,0,1]}
toy1= pd.DataFrame(data = t)
sns.set()
toy1.set_index('DAY').plot(kind='bar', stacked=True)
B3 在这里是橙色的,而第一个是绿色的。
【问题讨论】:
-
你能用代码显示吗,对不起,我无法想象。我还添加了一些玩具数据。
-
toy1= pd.DataFrame(data = t).reindex(['DAY', 'B1', 'B2', 'B3'], axis=1)是 @ALollz 所指的。 -
@shaucha 是的,它确实适用于所有场景。您需要为每一帧的数据中找到的所有
B_i集合重新索引,而不仅仅是随机子样本。
标签: pandas plot bar-chart visualization seaborn