使用PySimpleGUI打开maplotlib窗口



我是PySimpleGUI的新手,我在代码的某个部分遇到了问题。我有一些数据,我想使用matplotlib绘制,我可以在PySimpleGUI窗口的画布中打开它,但我想实现的是在一个单独的窗口(最好是matplotllib窗口(中绘制图形,这样就可以很容易地将图形保存在我的计算机上。

我想知道是否有一种简单的方法。本质上,我想获得的是按下PySimpleGUI中的"Plot"按钮,然后在这样的窗口中获得我的绘图:

示例窗口

我的代码目前相当大,也不是很优化(它只适用于我目前使用的特定数据集(,所以如果我需要共享我的代码,请告诉我,我可以创建一个简单的代码作为示例。如果有人能向我解释如何直接实现我的目标,我将不胜感激。

谢谢!

只需plt您的图形,并在事件循环中调用if event == 'Plot':下的plt.show(block=False)

import PySimpleGUI as sg
import matplotlib.pyplot as plt
year = [1920,1930,1940,1950,1960,1970,1980,1990,2000,2010]
unemployment_rate = [9.8,12,8,7.2,6.9,7,6.5,6.2,5.5,6.3]
def create_plot(year, unemployment_rate):
plt.plot(year, unemployment_rate, color='red', marker='o')
plt.title('Unemployment Rate Vs Year', fontsize=14)
plt.xlabel('Year', fontsize=14)
plt.ylabel('Unemployment Rate', fontsize=14)
plt.grid(True)
return
layout = [[sg.Button('Show')]]
window = sg.Window('Demo Application - Embedding Matplotlib In PySimpleGUI', layout)
while True:
event, values = window.read()
if event == sg.WIN_CLOSED or event == 'Exit':
break
elif event == 'Show':
create_plot(year, unemployment_rate)
plt.show(block=False)
window.close()

最新更新