Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python matplotlib更改特定条的颜色_Python_Matplotlib - Fatal编程技术网

Python matplotlib更改特定条的颜色

Python matplotlib更改特定条的颜色,python,matplotlib,Python,Matplotlib,我有一个由肯塔基州发布的月度收入报告数据库,该数据库目前创建了以下图表: 然而,由于该州的财政年度将于7月开始,2021财年的报告数字是根据截至目前为止的年初至今的收入进行估算的。因此,我想为2021条形图指定一个单独的颜色,将其标识为估算值。下面是我目前的代码,其中通过查询sqlite数据库并将结果求和以显示年度总计来创建数据帧。请注意,对于代码rpt_run和rpt_geo,它们是定义的变量,仅用于帮助设置画布图形的标题。此外,报告类型是年度报告,因此它正在执行创建条形图的条件语句的第一行

我有一个由肯塔基州发布的月度收入报告数据库,该数据库目前创建了以下图表:

然而,由于该州的财政年度将于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

很好,谢谢你的帮助!