PyQt5+QtChart实现柱状图的绘制
作者:SongYuLong的博客 发布时间:2021-03-03 00:38:14
标签:PyQt5,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_())
效果图
竖向柱状图
竖向百分比柱状图
竖向堆叠柱状图
横向柱状图
横向百分比柱状图
横向堆叠柱状图
来源:https://blog.csdn.net/songyulong8888/article/details/128329284


猜你喜欢
- 这些天安装 PyTorch,遇到了一些坑,特此总结一下,以免忘记。分享给大家。首先,安装环境是:操作系统 Win10,已经预先暗转了 Ana
- Python的安装并不难,但是要正确安装它的库以及配置环境变量则有些麻烦。对于刚刚开始想要学习Python的小伙伴来说,用Anaconda这
- jquery作为一款高质量的框架被大多web开发者所推崇。jquery也的确是一款伟大的产品,在实际开发中明显提高了效率。但是任何产品并不是
- 本文实例讲述了Python 进程操作之进程间通过队列共享数据,队列Queue。分享给大家供大家参考,具体如下:队列中的数据是放在内存中的,可
- Python特别灵活,肯定方法不止一种,这里介绍一种我觉得比较简单的方法。如下图,使用x == np.max(x) 获得一个掩模矩阵,然后使
- 本文实例讲述了Laravel框架路由管理。分享给大家供大家参考,具体如下:路由中输出视图Route::get('/', fu
- 本文实例为大家分享了Python自动循环扔QQ邮箱漂流瓶的具体代码,供大家参考,具体内容如下Python代码如下:# coding=utf-
- 基本对比使用方式使用场合优缺点是否需要安装需要的dll网址引用方式程序内引用程序初期确定使用MySql,前期添加引用大多数情况下使用在类文件
- 由于xlwt目前只支持xls格式,至于xlsx格式,后面会继续更新import xlwtimport codecsdef Txt_to_Ex
- HTTP状态码 摘要说明成功2××  
- 挖坟 交互设计(Interaction Design)产生于二十世纪八十年代,在1984年一次设计会议上,大名鼎鼎的英国交互设计师比尔·莫格
- 本文实例讲述了Python常见数字运算操作。分享给大家供大家参考,具体如下:Python 解释器可以作为一个简单的计算器:您可以在解释器里输
- 最近需要用python根据收集到的数据进行绘图,决定使用rrd数据库,然后配合rrdtool来绘图,故学习一下rrdtool的用法。用法如下
- ASP开发中有用的函数(function)集合,挺有用的,请大家保留!'******************************
- 对一名开发者来说最糟糕的情况,莫过于要弄清楚一个不熟悉的应用为何不工作。有时候,你甚至不知道系统运行,是否跟原始设计一致。在线运行的应用就是
- 这几天研究HUE,这个东西是基于Django开发的,于是又看了一眼Django,学着写个demo。微软开源的vscode在业界反应不错,以前
- 本文实例讲述了Python使用itchat模块实现简单的微信控制电脑功能。分享给大家供大家参考,具体如下:#!/usr/bin/python
- window.opener.location.reload()刷新父窗口window.opener.location.reload() 与
- 本文实例讲述了C#访问SQL Server数据库的实现方法。分享给大家供大家参考。具体如下:这里介绍一下用C#访问SQL Server数据库
- Beautiful Soup使用时,一般可以通过指定对应的name和attrs去搜索,特定的名字和属性,以找到所需要的部分的html代码。但