当前位置:   article > 正文

横向柱状堆叠图设置_实战PyQt5: 143-QChart图表之堆积柱状图

横向堆叠图
bb7a628002564e2590b22a3e5d14bbd0.png

堆积柱状图将数据按组显示为彼此堆积的柱状图。堆积按类别进行。堆积柱状图将数据按组显示为柱状的条,并相互堆积。堆积按类别进行。创建堆积柱状图就像创建常规的柱状图相似,在QChart中使用QStackedBarSeries创建堆积柱状图。

QStackedBarSeries

QStackedBarSeries类将一系列数据显示为垂直堆积的柱状图,每个类别对应一个柱状图。添加到图表序列中的每个柱状图组都为每个堆积的柱状图贡献一个子条块。

堆积柱状图示例

示例显示了如何创建简单的堆积柱状图,完整代码如下:

import sysfrom PyQt5.QtGui import QPainter, QPenfrom PyQt5.QtCore import Qtfrom PyQt5.QtWidgets import QApplication, QMainWindowfrom  PyQt5.QtChart import (QChartView, QChart, QStackedBarSeries, QBarSet,                             QLegend, QBarCategoryAxis, QValueAxis) class DemoStackedBarSeries(QMainWindow):    def __init__(self, parent=None):        super(DemoStackedBarSeries, self).__init__(parent)                    # 设置窗口标题        self.setWindowTitle('实战 Qt for Python: 堆积柱状图演示')              # 设置窗口大小        self.resize(480360)                self.createChart()            def createChart(self):                #创建条状单元        barSet0 = QBarSet('Jane')        barSet1 = QBarSet('Jone')        barSet2 = QBarSet('Axel')        barSet3 = QBarSet('Mary')        barSet4 = QBarSet('Samantha')                barSet0.append([123456])        barSet1.append([500407])        barSet2.append([3581385])        barSet3.append([567345])        barSet4.append([975312])                #条状图        barSeries = QStackedBarSeries()        barSeries.append(barSet0)        barSeries.append(barSet1)        barSeries.append(barSet2)        barSeries.append(barSet3)        barSeries.append(barSet4)                #创建图表        chart = QChart()        chart.addSeries(barSeries)        chart.setTitle('简单堆积柱状图示例')        chart.setAnimationOptions(QChart.SeriesAnimations) #设置成动画显示                #设置横向坐标(X轴)        categories = ['一月''二月''三月''四月''五月''六月']        axisX = QBarCategoryAxis()        axisX.append(categories)        chart.addAxis(axisX, Qt.AlignBottom)        barSeries.attachAxis(axisX)                #设置纵向坐标(Y轴)        axisY = QValueAxis()        axisY.setRange(030)        axisY.setTickCount(4)        chart.addAxis(axisY, Qt.AlignLeft)        barSeries.attachAxis(axisY)                #图例属性        chart.legend().setVisible(True)        chart.legend().setAlignment(Qt.AlignBottom)                #图表视图        chartView = QChartView(chart)        chartView.setRenderHint(QPainter.Antialiasing)                self.setCentralWidget(chartView)              if __name__ == '__main__':    app = QApplication(sys.argv)    window = DemoStackedBarSeries()    window.show()    sys.exit(app.exec())   

运行结果如下图:

b89a9d0ceb0313dc1eb9a4ac1be48863.gif

QChart堆积柱状图示例

本文知识点

  • 使用QStackedBarSeries创建堆积柱状图

前一篇: 实战PyQt5: 142-QChart图表之百分比柱状图

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/132548
推荐阅读
相关标签
  

闽ICP备14008679号