Python matplotlib更改特定条的颜色
我有一个由肯塔基州发布的月度收入报告数据库,该数据库目前创建了以下图表: 然而,由于该州的财政年度将于7月开始,2021财年的报告数字是根据截至目前为止的年初至今的收入进行估算的。因此,我想为2021条形图指定一个单独的颜色,将其标识为估算值。下面是我目前的代码,其中通过查询sqlite数据库并将结果求和以显示年度总计来创建数据帧。请注意,对于代码rpt_run和rpt_geo,它们是定义的变量,仅用于帮助设置画布图形的标题。此外,报告类型是年度报告,因此它正在执行创建条形图的条件语句的第一行Python matplotlib更改特定条的颜色,python,matplotlib,Python,Matplotlib,我有一个由肯塔基州发布的月度收入报告数据库,该数据库目前创建了以下图表: 然而,由于该州的财政年度将于7月开始,2021财年的报告数字是根据截至目前为止的年初至今的收入进行估算的。因此,我想为2021条形图指定一个单独的颜色,将其标识为估算值。下面是我目前的代码,其中通过查询sqlite数据库并将结果求和以显示年度总计来创建数据帧。请注意,对于代码rpt_run和rpt_geo,它们是定义的变量,仅用于帮助设置画布图形的标题。此外,报告类型是年度报告,因此它正在执行创建条形图的条件语句的第一行
def create_plot_canvas(df, rpt_run, rpt_geo, rpt_type):
fig = plt.figure(figsize=(14, 14), frameon=True)
fig.set_facecolor('#b9cde5')
fig.suptitle(rpt_run + ": " + rpt_geo, va='bottom', weight='bold', fontsize='x-large', y=0.90)
ax = fig.add_subplot()
if rpt_type == 'Annual':
img = df.plot.bar(ax=ax, color='#4f81bd', edgecolor='black', figsize=(14,9), width=0.8)
else:
img = df.plot.line(ax=ax, figsize=(14,9))
plt.legend(loc='lower right')
return fig
可能只是在最后一个补丁上使用:
df.plot.bar(ax=ax, color='#4f81bd', edgecolor='black', figsize=(14,9), width=0.8)
ax.patches[-1].set_facecolor('r') # or other appropriate color
很好,谢谢你的帮助!