首页 > 解决方案 > 更改一些条形颜色

问题描述

我正在尝试将 matplotlib 中的颜色栏更改为最后一种颜色为蓝色。但最终它们都是绿色的。

colors = ['blue' if (i>=19 and i<23) else 'green' for i in 

list(range(24))]
df.plot(y='Jan',kind='bar',edgecolor='none',figsize=(16,8),linewidth=2, color=colors)
plt.legend(prop={'size':16})

ax = plt.gca()
plt.gcf().autofmt_xdate()
ax.set_xticklabels(df.index)



plt.tight_layout()
plt.savefig('myimage.svg', format='svg', dpi=1200)   

plt.show()

我错过了什么?我遵循了类似的教程

这是一些测试示例的数据

sales = [('Jan', [150, 200, 50,150, 200, 50,150, 200, 50, 150, 200, 50,150, 200, 50,150, 200, 50,150, 200, 50,150, 200, 50])]
df = pd.DataFrame.from_items(sales)

标签: pythonpandasdataframematplotlib

解决方案


df.plot(y='Jan',kind='bar',edgecolor='none',figsize=(16,8),linewidth=2, color=[colors])

它缺少双 [[]]


推荐阅读