Python 使用AxeSubPlot对象(matplotlib和tkinter)在曲线下添加颜色

Python 使用AxeSubPlot对象(matplotlib和tkinter)在曲线下添加颜色,python,matplotlib,graph,tkinter,tkinter-canvas,Python,Matplotlib,Graph,Tkinter,Tkinter Canvas,我使用matplotlib模块在tkinter窗口中绘制图形。 我正在使用AxesSubplot对象来配置图形的样式 我的问题是:如何使用此对象(AxesSubPlot对象)在图形曲线下绘制颜色? 这是我用来配置和绘制图表的代码: def graph_handle(self): canvas = matplotlib.backends.backend_tkagg.FigureCanvasTkAgg(self.__fig, master=self.__SettingsFrame)

我使用matplotlib模块在tkinter窗口中绘制图形。 我正在使用AxesSubplot对象来配置图形的样式

我的问题是:如何使用此对象(AxesSubPlot对象)在图形曲线下绘制颜色? 这是我用来配置和绘制图表的代码:

def graph_handle(self):

    canvas = matplotlib.backends.backend_tkagg.FigureCanvasTkAgg(self.__fig, master=self.__SettingsFrame)
    canvas.show()
    canvas.get_tk_widget().pack(side=BOTTOM, fill=BOTH, expand=True)

    self.__axes = self.__fig.add_subplot(1,1,1,axisbg='#221E1E')
    self.__axes.plot([0])
    self.__axes.spines['bottom'].set_color('black')
    self.__axes.spines['top'].set_color('white')
    self.__axes.spines['left'].set_color('#221E1E')
    self.__axes.spines['right'].set_color('#221E1E')
    self.__axes.xaxis.label.set_color('#221E1E')
    self.__axes.tick_params(axis='x', colors='black')
    self.__axes.tick_params(axis='y', colors='#221E1E')

    self.__fig.gca().clear()
    self.__fig.gca().plot([0], [0])
    self.__fig.canvas.draw()
当然,我在代码和其他东西中有tkinter设置,如果你认为这是相关的,把它写在注释中,我会添加

谢谢

编辑: 到目前为止,代码提供了以下图表: 我想在曲线下添加颜色(在曲线和下轴之间)(很抱歉绘制得不好,这只是一个演示):

编辑2:

每当更新要打印的数组时(即,当我需要更新图形时,因为要打印的数组中的值比之前更多),我都会调用此函数:

你需要使用。 网上有一个很好的例子

在这种情况下,您将使用

self.__axes.fill_between(x,y, facecolor='yellow')

其中
x
y
是要绘制的数组。

它不起作用。我在同一个函数中添加了这一行,但什么也没有发生(我的程序中的x,y是位置列表,我试图像你一样将它们放入函数中,并且也尝试了:np.asarray(x),np.asarray(y),但仍然没有发生任何事情)。我还尝试将这一行放在更新绘图的函数中,但仍然没有发生任何事情(我将添加使用更新数组更新图形的函数以进行绘图,对于我上面的问题,请检查是否存在问题)。在绘制到轴后调用
axes.clear()
,没有意义。这将简单地删除新添加的
fill\u-between
plot。对,我不知道为什么我要把这行放在那里。。谢谢
self.__axes.fill_between(x,y, facecolor='yellow')