1
我在另一個繪製圖形的腳本中有一個函數,所以圖形已經預先繪製好,我只是想將它放到我的PyQt5界面上的一個小部件中。我輸入了它,當它運行時,它會打開兩個窗口,一個窗口在圖形中,一個在用戶界面中。任何想法?Matplotlib將圖形嵌入到用戶界面中PyQt5
下面是代碼:
def minionRatioGraph(recentMinionRatioAvg):
x = recentMinionRatioAvg
a = x*10
b = 100-a
sizes = [a, b]
colors = ['#0047ab', 'lightcoral']
plt.pie(sizes, colors=colors)
#determine score colour as scolour
if x < 5:
scolour = "#ff6961" #red
elif 5 <= x < 5.5:
scolour = "#ffb347" #orange
elif 5.5 <= x < 6.5:
scolour = "#77dd77" #light green
elif 6.5 <= x:
scolour = "#03c03c" # dark green
#draw a circle at the center of pie to make it look like a donut
centre_circle = plt.Circle((0,0),0.75, fc=scolour,linewidth=1.25)
fig = plt.gcf()
fig.gca().add_artist(centre_circle)
# Set aspect ratio to be equal so that pie is drawn as a circle.
plt.axis('equal')
plt.show()
這是一個腳本。在我的GUI腳本,我已經導入這些:
from PyQt5 import QtCore, QtGui, QtWidgets
import sqlite3
import matplotlib.pyplot as plt
from matplotlib.figure import Figure
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as
FigureCanvas
from graphSetup import *
而在我的窗口類的開始,設置功能之前,我有這樣的功能:
def minionGraphSetup(self, recentMinionRatioAvg):
minionRatioGraph(recentMinionRatioAvg)
雖然這個工程,這不是我所尋找的,而不是你的錯,我的。你知道我怎麼可能將圖形直接導出爲gui圖像?我知道你可以將圖形保存爲圖像,但是如何將更新後的圖像放在屏幕上,據我所知,當編譯資源文件時,所有圖像保持不變,我不知道如何重新加載它。 –
我更新了圖像的答案。我目前無法進行測試,所以請將其作爲路線圖作爲工作代碼。 – ImportanceOfBeingErnest
代碼停止在'pixmap = QPixmap(image)'工作,我不確定爲什麼?有什麼想法嗎?另外,我將如何將它放入我的窗戶?我會傳遞窗口的名稱並將self.centralwidget放入QLabel括號中嗎?謝謝 –