熊猫图:按值固定颜色

时间:2018-07-13 23:01:49

标签: python pandas

具有df:

import random
import pandas as pd
def get_row():
    row = {"date" : random.choice(range(10)), "status" : random.choice(["won", "lost", "onoing"]), "id" : random.choice(range(10))}
    return row
df = pd.DataFrame([get_row() for i in range(100)])
tab  = df.pivot_table(index="date", columns="status", values="id", aggfunc="count")
tab

这给了我: enter image description here

我可以尝试绘制:

tab.plot.bar(stacked=True)

enter image description here

如何为每列固定颜色? 我希望“迷失”为红色,“获胜”为绿色,“进行中”为蓝色。

好吧,我找到了答案:

gcolors = {'lost': 'red', 'onoing': 'blue', 'won': 'green'}
tab.plot.bar(stacked=True, color=[gcolors[group] for group in tab])

给予: enter image description here

1 个答案:

答案 0 :(得分:1)

就像我说的那样,在问问题时,我找到了答案:

gcolors = {'lost': 'red', 'onoing': 'blue', 'won': 'green'}
tab.plot.bar(stacked=True, color=[gcolors[group] for group in tab])