![](/img/trans.png)
[英]AttributeError: 'AxesSubplot' object has no attribute 'Circle' Embedding matplotlib in tkinter
[英]Adding color under a curve, with AxesSubplot object (matplotlib & tkinter)
我正在使用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設置,如果您認為這是相關的,請在注釋中寫下來,然后添加。
謝謝。
編輯:到目前為止,代碼提供了此圖: 我想在曲線下添加顏色(在曲線和下軸之間)(不好的繪圖,這只是一個演示):
EDIT2:
每當要繪制的數組更新時(即,當我需要更新圖形時,因為數組中要繪制的值比以前更多),我就調用此函數:
def update_plot(self, txnamount):
self.__GraphPlot[0].append(self.__TransactionsCurrently)
self.__GraphPlot[1].append(self.__WalletBalance+txnamount)
self.__axes.fill_between(self.__GraphPlot[0], self.__GraphPlot[1], facecolor="yellow")
self.__fig.gca().clear()
self.__fig.gca().plot(self.__GraphPlot[0], self.__GraphPlot[1], color="white", linewidth=0.8)
self.__fig.canvas.draw()
您需要使用Axes.fill_between
。 matplotlib頁面上有一個很好的示例。
在這種情況下,您將使用
self.__axes.fill_between(x,y, facecolor='yellow')
其中x
和y
是要繪制的數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.