簡體   English   中英

使用AxesSubplot對象(matplotlib&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')

其中xy是要繪制的數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM