【发布时间】:2020-12-02 14:35:17
【问题描述】:
在 jupyter notebook 中使用 pandas,我正在为按动作分类着色的示例动作生成交互分数的条形图。分类为 VS、SUB、OBV、VO 和 CTRL。因此,我将这段代码用于绘图:
colors = {'VS':'blue',
'SUB':'green',
'OBV': 'orange',
'VO': 'red',
'CTRL': 'black'}
cat_data.sort_values('Interaction_rounded').plot.bar(x='Motion',
y='Interaction_rounded',
rot=90,
title='All Motions Interaction Score Colored by Classification',
color = [colors[i] for i in cat_data['Classification']],
fontsize = 8,
legend = False)
但我得到了这张图表:
你们看到应该是 黑色 的 CTRL 不是吗?与 Fist Swipe 相同,它 不 应该是黑色的。有谁知道我可以做些什么来纠正这个问题?
【问题讨论】:
-
好吧,你对绘图调用的数据进行排序,但不是颜色,所以我猜你需要像
[colors[i] for i in cat_data.sort_values('Interaction_rounded')['Classification']]这样的东西,或者在绘图之前更好地排序一次...... -
哇,原来如此!我不知道我还必须对颜色的数据进行排序。非常感谢。
标签: python pandas matplotlib bar-chart data-visualization