[PYTHON] Dessinez un graphique avec les paramètres PyQtGraph Part 4-PlotItem

Partie 4 Paramètres de PlotItem

Définissez l'étiquette, la plage et l'échelle de l'axe.

4.png

import sys
from PySide.QtCore import *
from PySide.QtGui import *
import pyqtgraph as pg


class GraphWindow(QMainWindow):

    def __init__(self, parent = None):
        
        super(GraphWindow, self).__init__(parent)
        
        #1 Créer un PlotWidget
        #3 Définissez la bordure et la direction de l'axe de PlotWidget
        pw = pg.PlotWidget(viewBox = pg.ViewBox(border = pg.mkPen(color='#000000'),
                                                invertX = False, invertY = True))

        #1 Réglez le widget dans la fenêtre
        self.setCentralWidget(pw)

        #3 Définissez la couleur d'arrière-plan(#FFFFFF00 : Transparent)
        pw.setBackground("#FFFFFF00")

        ##3 Fixez la taille du graphique
        pw.setMinimumSize(500, 400)
        pw.setMaximumSize(500, 400)

        #1 tracé d'appel
        ##4 Définir le cadre graphique
        p1 = pw.plotItem
        self.setGraphFrameFont(p1)

        ##Définir l'étiquette à 4 axes
        p1.setLabels(bottom = "Axe X", 
                     left = "Axe Y1")

        ##Définir la police des étiquettes à 4 axes
        fontCss = {'font-family': "Times New Roman,Meilio", 'font-size': '10.5pt', "color": "black"}
        p1.getAxis('bottom').setLabel(**fontCss)

        ##4 Définissez la plage du graphique
        ##Si vous souhaitez créer une marge, modifiez la valeur de remplissage
        p1.setRange(xRange = (-2, 6), yRange = (-2, 6), padding = 0)

        ##Définir l'échelle à 4 axes
        p1.getAxis('bottom').setTickSpacing(major = 2.5, minor = 1)

        #1 Dessinez un diagramme de dispersion et un graphique linéaire
        #2 Définissez les détails du tracé
        p1.addItem(pg.PlotCurveItem(x = [0, 1, 2, 3 ,4], 
                                    y = [0, 1, 2, 3 ,4], 
                                    pen = pg.mkPen(color = "r", style = Qt.SolidLine),
                                    antialias = True))
        p1.addItem(pg.ScatterPlotItem(x = [0, 1, 2, 3 ,4], 
                                      y = [4, 3, 2, 1, 0], 
                                      symbol = "x", 
                                      pen = pg.mkPen(None), 
                                      brush = pg.mkBrush("b"),
                                      size = 7.5,
                                      antialias = True))

    ##4 Définissez la couleur de l'échelle du graphique, la police et la position de l'étiquette de l'axe.
    def setGraphFrameFont(self, p1, p2 = None, p3 = None, ax3 = None):
        font = QFont("Times New Roman", 7)

        p1.getAxis('bottom').setPen(pg.mkPen(color='#000000'))
        p1.getAxis('left').setPen(pg.mkPen(color='#000000'))
        p1.getAxis('bottom').setHeight(3 * 10.5)
        p1.getAxis('left').setWidth(4.5 * 10.5)

        #p1.getAxis('bottom').setLabel(**self.fontCss)
        p1.getAxis('bottom').tickFont = font
        #p1.getAxis('left').setLabel(**self.fontCss)
        p1.getAxis('left').tickFont = font

        if p2 != None:
            p1.getAxis('right').setPen(pg.mkPen(color='#000000'))
            p1.getAxis('right').setWidth(4.5 * 10.5)

            #p1.getAxis('right').setLabel(**self.fontCss)
            p1.getAxis('right').tickFont = font

        if p3 != None and ax3 != None:
            ax3.setPen(pg.mkPen(color='#000000'))
            ax3.setWidth(4.5 * 10.5)

            #ax3.setLabel(**self.fontCss)
            ax3.tickFont = font


if __name__ == '__main__':
    #Créer une application Qt
    app = QApplication(sys.argv)
    #Créer et afficher un formulaire
    mainWin = GraphWindow()
    mainWin.show()
    #Démarrez la boucle principale de Qt
    sys.exit(app.exec_())

Recommended Posts

Dessinez un graphique avec les paramètres PyQtGraph Part 4-PlotItem
Dessinez un graphique avec les paramètres PyQtGraph Partie 3-PlotWidget
Dessinez un graphique avec PyQtGraph Partie 2 - Paramètres de tracé détaillés
Dessinez un graphique avec PyQtGraph Part 1-Drawing
Dessinez un graphique avec PyQtGraph Partie 6 - Affichage d'une légende
Tracez un graphe avec Julia + PyQtGraph (2)
Tracez un graphique avec Julia + PyQtGraph (1)
Dessinez un graphique avec Julia + PyQtGraph (3)
Dessinez un graphique avec PyQtGraph Partie 5-Augmentez l'axe Y
Dessinez un graphique avec NetworkX
Dessinez un graphique avec networkx
Dessinez un graphique lâche avec matplotlib
Dessinez un graphique avec des pandas + XlsxWriter
Dessinez un graphique avec l'interface graphique PySimple
Dessinez une surface plane avec un graphique 3D matplotlib
Comment dessiner un graphique à 2 axes avec pyplot
Dessinez un graphique en traitant avec Pandas groupby
[Python] Dessinez un graphe orienté avec Dash Cytoscape
[Python] Comment dessiner un graphique linéaire avec Matplotlib
[Visualisation] Je veux dessiner un beau graphique avec Plotly
Jouez avec une tortue avec des graphiques de tortue (partie 1)
Dessinez un beau cercle avec numpy
Faisons un graphe avec python! !!
Faire un joli graphique avec plotly
Dessinez facilement une carte avec matplotlib.basemap
Compter la partie concaténée maximale d'un graphe aléatoire avec NetworkX
[PyQt] Afficher des graphiques multi-axes avec QtChart
Comment dessiner un graphique avec Matplotlib
(Matplotlib) Je veux dessiner un graphique avec une taille spécifiée en pixels
Dessinez un cœur en rubis avec PyCall
Dessiner un cœur avec Python Partie 2 (SymPy Edition)
Dessinez un ensemble de Mandelbrot avec Brainf * ck
Comment dessiner un graphique à barres qui résume plusieurs séries avec matplotlib
Dessinez simplement un graphique en spécifiant un fichier
Créer un graphique avec des bordures supprimées avec matplotlib
Dessiner un graphique d'une fonction quadratique en Python
Comment dessiner un graphique 3D avant l'optimisation
Dessinez une "courbe de seins" dans un graphique 3D (1)
Mémo qui a fait un graphique pour animer avec intrigue
Essayez de dessiner une courbe de vie avec python
[Python] Dessinez un Mickey Mouse avec une tortue [Débutant]
Dessinez une "courbe de seins" dans un graphique 3D (2)
J'ai fait un graphique de nombres aléatoires avec Numpy
Dessinez plusieurs photos de plusieurs dossiers sur un graphique
Dessine un graphique avec Julia ... j'ai essayé une petite analyse
[Python] Dessinez un diagramme de relation de balises Qiita avec NetworkX
Visualisez les données d'itinéraires ferroviaires sous forme de graphique avec Cytoscape 2
"My Graph Generation Application" par Python (PySide + PyQtGraph) Partie 2
Créer une visionneuse de modèle 3D avec PyQt5 et PyQtGraph
"My Graph Generation Application" par Python (PySide + PyQtGraph) Partie 1
[Python] Comment dessiner un diagramme de dispersion avec Matplotlib
Visualisation des données avec Python - La méthode de dessin simultané de graphes basés sur les attributs avec "Facet" est trop pratique