Stellen Sie die Achsenbeschriftung, den Bereich und die Skalierung ein.
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 Erstellen Sie ein PlotWidget
#3 Legen Sie den Rand und die Achsenrichtung von PlotWidget fest
pw = pg.PlotWidget(viewBox = pg.ViewBox(border = pg.mkPen(color='#000000'),
invertX = False, invertY = True))
#1 Legen Sie das Widget im Fenster fest
self.setCentralWidget(pw)
#3 Stellen Sie die Hintergrundfarbe ein(#FFFFFF00 : Transparent)
pw.setBackground("#FFFFFF00")
##3 Korrigieren Sie die Größe des Diagramms
pw.setMinimumSize(500, 400)
pw.setMaximumSize(500, 400)
#1 Rufen Sie plotItem auf
##4 Stellen Sie den Grafikrahmen ein
p1 = pw.plotItem
self.setGraphFrameFont(p1)
##Stellen Sie die 4-Achsen-Beschriftung ein
p1.setLabels(bottom = "X-Achse",
left = "Y1-Achse")
##Stellen Sie die Schriftart für 4-Achsen-Beschriftungen ein
fontCss = {'font-family': "Times New Roman,Meilio", 'font-size': '10.5pt', "color": "black"}
p1.getAxis('bottom').setLabel(**fontCss)
##4 Stellen Sie den Grafikbereich ein
##Wenn Sie einen Rand erstellen möchten, ändern Sie den Füllwert
p1.setRange(xRange = (-2, 6), yRange = (-2, 6), padding = 0)
##Stellen Sie die 4-Achsen-Skala ein
p1.getAxis('bottom').setTickSpacing(major = 2.5, minor = 1)
#1 Zeichnen Sie ein Streudiagramm und ein Liniendiagramm
#2 Legen Sie die Plotdetails fest
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 Legen Sie die Farbe, die Schriftart und die Position der Achsenbeschriftung der Diagrammskala fest.
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__':
#Erstellen Sie eine Qt-Anwendung
app = QApplication(sys.argv)
#Formular erstellen und anzeigen
mainWin = GraphWindow()
mainWin.show()
#Starten Sie die Hauptschleife von Qt
sys.exit(app.exec_())
Recommended Posts