NEW Matplotlib Demos for Web port
This commit is contained in:
parent
5cfc59fe56
commit
5e42607a57
2 changed files with 233 additions and 0 deletions
48
PySimpleGUIWeb/Demo Programs/Web_Matplotlib_Simple.py
Normal file
48
PySimpleGUIWeb/Demo Programs/Web_Matplotlib_Simple.py
Normal file
|
@ -0,0 +1,48 @@
|
|||
import PySimpleGUIWeb as sg
|
||||
import numpy as np
|
||||
from matplotlib.backends.backend_tkagg import FigureCanvasAgg
|
||||
import matplotlib.figure
|
||||
import io
|
||||
|
||||
|
||||
def create_figure():
|
||||
# ------------------------------- START OF YOUR MATPLOTLIB CODE -------------------------------
|
||||
fig = matplotlib.figure.Figure(figsize=(5, 4), dpi=100)
|
||||
t = np.arange(0, 3, .01)
|
||||
fig.add_subplot(111).plot(t, 2 * np.sin(2 * np.pi * t))
|
||||
|
||||
return fig
|
||||
|
||||
|
||||
def draw_figure(fig, element):
|
||||
canv = FigureCanvasAgg(fig)
|
||||
buf = io.BytesIO()
|
||||
canv.print_figure(buf, format='png')
|
||||
|
||||
if buf is None:
|
||||
return None
|
||||
buf.seek(0)
|
||||
data = buf.read()
|
||||
element.update(data=data)
|
||||
|
||||
def main():
|
||||
|
||||
layout = [
|
||||
[sg.T('Matplotlib Example', font='Any 20')],
|
||||
[sg.Image(key='-IMAGE-')],
|
||||
[sg.B('Draw'), sg.B('Exit')],
|
||||
]
|
||||
|
||||
window = sg.Window('Title', layout)
|
||||
|
||||
while True:
|
||||
event, values = window.read()
|
||||
if event == 'Exit' or event == sg.WIN_CLOSED:
|
||||
break
|
||||
if event == 'Draw':
|
||||
draw_figure(create_figure(), window['-IMAGE-'])
|
||||
window.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Add table
Add a link
Reference in a new issue