PyQt5+QtChart实现柱状图的绘制
更新时间:2022年12月15日 14:58:30 作者:SongYuLong的博客
QChart是一个QGraphicScene中可以显示的QGraphicsWidget。本文将利用QtChart实现柱状图的绘制,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
柱状图分类
QBarSeries:竖向柱状图
QPercentBarSeries:竖向百分比柱状图
QStackedBarSeries:竖向堆叠柱状图
QHorizontalBarSeries:横向柱状图
QHorizontalPercentBarSeries:横向百分比柱状图
QHorizontalStackedBarSeries:横向堆叠柱状图
实现代码
import sys from PyQt5.QtGui import * from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt from PyQt5.QtChart import QBarSet, QBarSeries, QChart, QChartView, QValueAxis, QBarCategoryAxis,\ QBarLegendMarker, QVBarModelMapper, QHBarModelMapper, QHorizontalBarSeries,QPercentBarSeries, \ QHorizontalPercentBarSeries, QHorizontalStackedBarSeries,QStackedBarSeries class MyBarWindow(QWidget): def __init__(self, parent=None): super(MyBarWindow, self).__init__(parent) chart = QChart() barSeries = QBarSeries() # 竖向柱状图 # barSeries = QPercentBarSeries() # 竖向百分比柱状图 # barSeries = QHorizontalBarSeries() # 横向柱状图 # barSeries = QHorizontalPercentBarSeries() # 横向百分比柱状图 # barSeries = QStackedBarSeries() # 竖向堆叠柱状图 # barSeries = QHorizontalStackedBarSeries() # 横向堆叠柱状图 chartView = QChartView() valueAxisY = QValueAxis() barCategorAxisX = QBarCategoryAxis() chart.setAnimationOptions(QChart.AllAnimations) chart.setAnimationEasingCurve(QEasingCurve.OutBack) set0 = QBarSet("产品1") set1 = QBarSet("产品2") set2 = QBarSet("产品3") set0.append(10.12345) set0.append(3.23) set0.append(7) set1.append(5) set1.append(2) set1.append(9) set2.append(9) set2.append(1) set2.append(7) barSeries.append(set0) barSeries.append(set1) barSeries.append(set2) barSeries.setBarWidth(0.8) barSeries.setLabelsVisible(True) barSeries.setLabelsAngle(75.0) barSeries.setLabelsPrecision(3) # barSeries.setLabelsFormat("") barCategorAxisX.append(["一季度", "二季度", "三季度"]) valueAxisY.setRange(0, 10) chart.setTitle("柱状图表") chart.setAxisX(barCategorAxisX) chart.setAxisY(valueAxisY) chart.addSeries(barSeries) chartView.setChart(chart) vbox = QVBoxLayout() vbox.addWidget(chartView) self.setLayout(vbox) if __name__ == "__main__": app = QApplication(sys.argv) win = MyBarWindow() win.show() sys.exit(app.exec_())
效果图
竖向柱状图
竖向百分比柱状图
竖向堆叠柱状图
横向柱状图
横向百分比柱状图
横向堆叠柱状图
到此这篇关于PyQt5+QtChart实现柱状图的绘制的文章就介绍到这了,更多相关PyQt5 QtChart柱状图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
PaddleNLP ppdiffusers 自动生成兔了个兔海报
这篇文章主要为大家介绍了PaddleNLP ppdiffusers 自动生成兔了个兔海报示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-01-01
最新评论