我希望Pandas图表中的条形图分别给出不同的颜色。根据{{3}}和类似的解决方案,解决方案看起来非常简单。
当我尝试模拟解决方案时,我最终得到的所有条形颜色相同(尽管颜色与标准颜色不同)。我想我做错了什么,但我看不出它是什么。其他人都看到了吗?
fig = df.plot(kind='bar', # Plot a bar chart
legend=False, # Turn the Legend off
width=0.75, # Set bar width as 75% of space available
figsize=(8,5.8), # Set size of plot in inches
colormap='Paired')
colormap='Paired'
是改变颜色的意思。我明白了:
this post
这很好,但所有的酒吧颜色都一样!我正在对绘图进行其他更改,如上所示,但它们都是文本格式或轴细节的删除。
答案 0 :(得分:4)
让我们使用此代码:
df.plot(kind='bar', # Plot a bar chart
legend=False, # Turn the Legend off
width=0.75, # Set bar width as 75% of space available
figsize=(8,5.8), # Set size of plot in inches
color=[plt.cm.Paired(np.arange(len(df)))])
答案 1 :(得分:1)
这也应该有效:*
df['Degree'].plot.bar()
这是不同的,因为df['Degree']
是一个系列。
Pandas系列似乎用不同的颜色绘制(可能假设每个都来自不同的类别或标签),而在数据框中,每个系列被假定为一个类别的一组值,因此它们是给出相同的颜色。
例如:
s = pd.Series({'a': 100, 'b': 74, 'c': 50})
s.plot.bar()
产地:
更新:
*显然是对于pandas版本< 0.17.0您必须使用s.plot(kind='bar')
而不是s.plot.bar()
。我怀疑我在这里展示的颜色行为也是特定于版本的。此演示使用0.22.0版本完成。