[PYTHON] Zeigen Sie das xy-Diagramm von Matplotlib mit PySimpleGUI an.

Einführung

Ich habe ein Programm zum Lesen der Datei und zum Anzeigen des xy-Diagramms unter Bezugnahme auf das Beispielprogramm von PySimpleGUI erstellt. Beispielprogramm: PySimpleGUI-cookbook- (Rezept-Vergleichen von 2 Dateien), (Matplotlib-Fenster mit GUI-Fenster)

andere Referenzen Zeichnen Sie ein Diagramm mit der PySimple-Benutzeroberfläche Wie zeichnet man ein Diagramm mit tkinter (pySimpleGUI) ohne matplotlib

Umgebung

Win10Pro Anaconda Python3.7

Informationen zur Installation von PySimpleGUI finden Sie im vorherigen Artikel Erstellen einer GUI zur Erstellung von QR-Codes mit PySimpleGUI.

Erstellungsprogramm

Ein Programm, das eine CSV-Datei mit x- und y-Daten hochlädt und das Zeichnen eines Diagramms ermöglicht

from pathlib import Path

import matplotlib.pyplot as plt
import pandas as pd
import PySimpleGUI as sg


sg.theme('Light Blue 2')

def draw_plot(x,y):
    plt.plot(x,y)
    plt.show(block=False)
    #block=Wenn Sie nicht False angeben, akzeptiert die Konsole während dieser Zeit keine Eingaben und Sie können erst wieder zur Arbeit zurückkehren, wenn Sie die GUI schließen.
    
def check_file(file_name):
    p = Path(file_name)
    print(p.suffix)
    if p.suffix == '.csv':
        df = pd.read_csv(p) 
        x = df.iloc[:,0]
        y = df.iloc[:,1]
        
        return x, y
    
    else:
        print('Wrong data file, data must be CSV')  
        return None, None

layout = [[sg.Text('Enter csv data')],
          [sg.Text('File', size=(8, 1)),sg.Input(key='-file_name-'), sg.FileBrowse()],
          [sg.Submit()],
          [sg.Button('Plot'), sg.Cancel()],
          [sg.Button('Popup')]]

window = sg.Window('Plot', layout)

while True:
    event, values = window.read()
    
    if event in (None, 'Cancel'):
        break
    elif event in 'Submit':
        print('File name:{}'.format(values['-file_name-']))
        x,y = check_file(values['-file_name-'])
        
        if x[0] == None:
            sg.popup('Set file is not CSV')
        
    elif event == 'Plot':
        draw_plot(x,y)
        
    elif event == 'Popup':
        sg.popup('Yes, your application is still running')
window.close()

Führen Sie das Programm aus und geben Sie den Dateinamen an. Sie können eine Datei auswählen, indem Sie auf der Seite auf "Durchsuchen" klicken. Drücken Sie dann auf "Senden". mp1.JPG

Drücken Sie dann "Plotten", um das Diagramm zu zeichnen. Figure_1.png

Klicken Sie hier, damit das Programm die diesmal verwendeten CSV-Daten erstellt. Es ist dasselbe wie das in Verschiedene Dateien in HDF5 speichern erstellte.

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

def base_func(x,a,b,c):
    y = c + a*(x - b)**2
    return y

x = np.arange(-30, 30, 1)
para = [2.0,5.0,10.0]
np.random.seed(seed=10)
y = base_func(x,para[0],para[1],para[2])+np.random.normal(0, 60, len(x))

plt.scatter(x , y)
plt.show()

#Setzen Sie die Daten mit dem Datenrahmen auf CSV
df = pd.DataFrame({'x':x,'y':y})
df.to_csv('csvdata.csv',index=False)

Zusammenfassung

Immerhin ist es einfach zu machen!

Recommended Posts

Zeigen Sie das xy-Diagramm von Matplotlib mit PySimpleGUI an.
Echtzeit-Diagrammanzeige von matplotlib
Zeichnen Sie mit Matplotlib ein Diagramm der Retentionsrate
Zeichnen Sie ein Diagramm mit der PySimple-Benutzeroberfläche
Anzeigen von LaTeX-Notationsformeln in Python, matplotlib
So unterdrücken Sie Anzeigefehler in matplotlib
Anzeigen von Matplotlib-Diagrammen in einer Webanwendung
Installieren Sie matplotlib und zeigen Sie das Diagramm in Jupyter Notebook an
matplotlib graph album
So verbergen Sie Benutzereingaben in der PySimple-Benutzeroberfläche
Setzen Sie Scipy + Matplotlib in Ubuntu auf Vagrant und zeigen Sie die Grafik mit X11 Forwarding an
Lassen Sie die Häkchen nach dem Dezimalpunkt in matplotlib weg
Zeigen Sie das Diagramm an, während Sie die Parameter mit PySimpleGUI + Matplotlib ändern
Legen Sie matplotlib in Centos7.
Diagrammzeichnung mit matplotlib
Diagrammzeichnung mit Python
Bilder mit Matplotlib anzeigen
Banddiagramm mit Matplotlib
2D-Plot in Matplotlib
[GUI in Python] PyQt5-Dialog-
Zeichnen Sie ein Diagramm mit Python
Verarbeitung mehrerer Dateien mit Kivy + Matplotlib + Draw Graph auf der GUI
SVG-Diagramm mit matplotlib mit Heroku erstellen (auf Japanisch angezeigt)
Zeichnen Sie Zeitreihendaten in Python mit Pandas und Matplotlib
VScode-Umgebungskonstruktion (auf Mac) und Diagrammanzeige in Python (@ Browser)