有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
这给了我:
我可以尝试绘制:
tab.plot.bar(stacked=True)
如何为每列固定颜色?
我希望“丢失”为红色,“获胜”为绿色,“进行中”为蓝色。
好吧,我找到了答案:
gcolors = {'lost': 'red', 'onoing': 'blue', 'won': 'green'}
tab.plot.bar(stacked=True, color=[gcolors[group] for group in tab])
给出:
最佳答案
好吧,正如我所说,在问问题时,我找到了答案:
gcolors = {'lost': 'red', 'onoing': 'blue', 'won': 'green'}
tab.plot.bar(stacked=True, color=[gcolors[group] for group in tab])