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

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