tft每日頭條

 > 生活

 > pyqt 柱狀圖

pyqt 柱狀圖

生活 更新时间:2025-04-30 09:52:07

pyqt 柱狀圖(154-QChart圖表之多坐标軸圖表)1

在圖表制作中,有些情況需要将不同類型數據序列顯示一個圖表中,以顯示對比效果,但是兩者的數據所對應的坐标軸是不一樣的,在這種情況線需要使用多坐标軸。

使用多坐标軸

QChart中圖表序列,通常需要綁定兩個坐标軸(水平X軸,垂直Y軸),對X軸和Y軸的綁定是分離的,這樣為多坐标軸的使用提供極大的靈活性,最常見的應用是,兩組圖表序列數據共用一個坐标軸(比如X軸),另一個坐标做則是各種獨立的,一個坐标軸的刻度的信息顯示在左邊,另一個坐标軸的刻度和信息顯示在右邊。

多坐标軸示例

示例顯示了如何創建具有兩個垂直軸的簡單圖表,完整代碼如下:

importsys from PyQt5.QtCore import Qt, QPointF from PyQt5.QtGui import QPainter from PyQt5.QtWidgets import QApplication, QMainwindow, QMessageBox from PyQt5.QtChart import QChart, QChartView, QSplineSeries, QCategoryAxis, QValueAxis class DemoMultipleAxes(QMainWindow): def __init__(self, parent=None): super(DemoMultipleAxes, self).__init__(parent) # 設置窗口标題 self.setWindowTitle('實戰 Qt for Python: 多坐标軸演示') # 設置窗口大小 self.resize(480, 360) self.createChart() def createChart(self): #創建圖表 chart = QChart() chart.legend().hide() chart.setTitle('多坐标軸圖表示例') #添加x坐标軸 axisX = QValueAxis() axisX.setTickCount(10) chart.addAxis(axisX, Qt.AlignBottom) #添加樣條線1 series = QSplineSeries() series << QPointF(1, 5) << QPointF(3.5, 18) << QPointF(4.8, 7.5) << QPointF(10, 2.5) chart.addSeries(series) #添加左邊y軸 axisY = QValueAxis() axisY.setLinePenColor(series.pen().color()) chart.addAxis(axisY, Qt.AlignLeft) series.attachAxis(axisX) series.attachAxis(axisY) #添加樣條線2 series = QSplineSeries() series.append(QPointF(1, 0.5)) series.append(QPointF(1.5, 4.5)) series.append(QPointF(2.4, 2.5)) series.append(QPointF(4.3, 12.5)) series.append(QPointF(5.2, 3.5)) series.append(QPointF(7.4, 16.5)) series.append(QPointF(8.3, 7.5)) series.append(QPointF(10, 17)) chart.addSeries(series) #添加右邊Y軸 axisY2 = QCategoryAxis() axisY2.append('低', 5) axisY2.append('中', 12) axisY2.append('高', 17) axisY2.setLinePenColor(series.pen().color()) axisY2.setGridLinePen(series.pen()) chart.addAxis(axisY2, Qt.AlignRight) series.attachAxis(axisX) series.attachAxis(axisY2) #圖表視圖 chartView = QChartView(chart) chartView.setRenderHint(QPainter.Antialiasing) self.setCentralWidget(chartView) if__name__=='__main__': app=QApplication(sys.argv) window=DemoMultipleAxes() window.show() sys.exit(app.exec())

運行結果如下圖:

pyqt 柱狀圖(154-QChart圖表之多坐标軸圖表)2

QChart多坐标軸示例

本文知識點
  • 如何實現多坐标軸顯示

請多多關注,評論,收藏,點贊,和轉發。


前一篇: 實戰PyQt5: 153-QChart圖表之對數坐标軸

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved