New Matplotlib Demo Programs for PySimpleGUIWeb
This commit is contained in:
		
							parent
							
								
									9435bb6393
								
							
						
					
					
						commit
						97061b3614
					
				
					 4 changed files with 78 additions and 14 deletions
				
			
		|  | @ -142,24 +142,34 @@ def create_pyplot_scales(): | |||
|                         wspace=0.35) | ||||
|     return plt.gcf() | ||||
| 
 | ||||
| # ----------------------------- The draw figure helpful function ----------------------------- | ||||
| 
 | ||||
| def draw_figure(fig, element): | ||||
|     """ | ||||
|     Draws the previously created "figure" in the supplied Image Element | ||||
| 
 | ||||
|     :param fig: a Matplotlib figure | ||||
|     :param element: an Image Element | ||||
|     :return: The figure canvas | ||||
|     """ | ||||
| 
 | ||||
|     plt.close('all')        # erases previously drawn plots | ||||
|     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) | ||||
|     element.update(data=buf.read()) | ||||
|     return canv | ||||
| 
 | ||||
| dictionary_of_figures = {'Axis Grid': create_axis_grid, | ||||
|                    'Subplot 3D': create_subplot_3d, | ||||
|                    'Scales' : create_pyplot_scales, | ||||
|                    'Basic Figure': create_figure} | ||||
| # ----------------------------- The GUI Section ----------------------------- | ||||
| 
 | ||||
| def main(): | ||||
|     dictionary_of_figures = {'Axis Grid': create_axis_grid, | ||||
|                              'Subplot 3D': create_subplot_3d, | ||||
|                              'Scales': create_pyplot_scales, | ||||
|                              'Basic Figure': create_figure} | ||||
| 
 | ||||
|     layout = [ | ||||
|                 [sg.T('Matplotlib Example', font='Any 20')], | ||||
|  |  | |||
|  | @ -846,16 +846,15 @@ def draw_figure(fig, element): | |||
|     :param element: an Image Element | ||||
|     :return: The figure canvas | ||||
|     """ | ||||
|     plt.close('all') | ||||
| 
 | ||||
|     plt.close('all')            # erases previously drawn plots | ||||
|     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) | ||||
|     element.update(data=buf.read()) | ||||
|     return canv | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,6 +2,7 @@ import PySimpleGUIWeb as sg | |||
| import numpy as np | ||||
| from matplotlib.backends.backend_tkagg import FigureCanvasAgg | ||||
| import matplotlib.figure | ||||
| import matplotlib.pyplot as plt | ||||
| import io | ||||
| 
 | ||||
| 
 | ||||
|  | @ -15,15 +16,24 @@ def create_figure(): | |||
| 
 | ||||
| 
 | ||||
| def draw_figure(fig, element): | ||||
|     """ | ||||
|     Draws the previously created "figure" in the supplied Image Element | ||||
| 
 | ||||
|     :param fig: a Matplotlib figure | ||||
|     :param element: an Image Element | ||||
|     :return: The figure canvas | ||||
|     """ | ||||
| 
 | ||||
|     plt.close('all')  # erases previously drawn plots | ||||
|     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) | ||||
|     element.update(data=buf.read()) | ||||
|     return canv | ||||
| 
 | ||||
| 
 | ||||
| def main(): | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										45
									
								
								PySimpleGUIWeb/Demo Programs/Web_Matplotlib_Simple_PyPlot.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								PySimpleGUIWeb/Demo Programs/Web_Matplotlib_Simple_PyPlot.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | |||
| import PySimpleGUIWeb as sg | ||||
| import numpy as np | ||||
| from matplotlib.backends.backend_tkagg import FigureCanvasAgg | ||||
| import matplotlib.pyplot as plt | ||||
| import io | ||||
| 
 | ||||
| 
 | ||||
| def draw_figure(fig, element): | ||||
|     """ | ||||
|     Draws the previously created "figure" in the supplied Image Element | ||||
| 
 | ||||
|     :param fig: a Matplotlib figure | ||||
|     :param element: an Image Element | ||||
|     :return: The figure canvas | ||||
|     """ | ||||
| 
 | ||||
|     plt.close('all')  # erases previously drawn plots | ||||
|     canv = FigureCanvasAgg(fig) | ||||
|     buf = io.BytesIO() | ||||
|     canv.print_figure(buf, format='png') | ||||
|     if buf is None: | ||||
|         return None | ||||
|     buf.seek(0) | ||||
|     element.update(data=buf.read()) | ||||
|     return canv | ||||
| 
 | ||||
| 
 | ||||
| def main(): | ||||
|     layout = [[sg.Text('Matplotlib Simple Plot', font='Any 20')], | ||||
|               [sg.Image(key='-IMAGE-')], | ||||
|               [sg.Button('Exit')]] | ||||
| 
 | ||||
|     window = sg.Window('Matplotlib Example', layout, finalize=True) | ||||
| 
 | ||||
|     fig = plt.figure() | ||||
|     x = np.arange(0, 5, 0.1) | ||||
|     y = np.sin(x) | ||||
|     plt.plot(x, y) | ||||
|     draw_figure(fig, window['-IMAGE-']) | ||||
| 
 | ||||
|     window.read(close=True) | ||||
| 
 | ||||
| 
 | ||||
| if __name__ == "__main__": | ||||
|     main() | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue