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
0
投稿
猜你喜欢
- 什么是协程在 Python 中,协程(Coroutine)是一种轻量级的并发编程方式,可以通过协作式多任务来实现高效的并发执行。协程是一种特
- 因为函数或类都是对象,它们也能被四处传递。它们又是可变对象,可以被更改。在函数或类对象创建后但绑定到名字前更改之的行为为装饰(decorat
- 前言网络摄像头的视频流解析直接使用通过http的Mjpeg是具有边界帧信息的multipart / x-mixed-replace,而jpe
- 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句
- 在python3.6版本中去掉了os.path.walk()函数os.walk()函数声明:walk(top,topdown=True,on
- 由于javascript无法获取img文件头数据,必须等待其加载完毕后才能获取真实的大小,所以lightbox类效果为了让图片居中显示,导致
- 我自己的一个项目,需要同时对65536个文件进行多次写操作。如果先全部打开所有的文件,然后重复写,最后关闭所有的文件。那么第一次写操作全部完
- 页面重构需要考虑的一个重点是XHTML代码语义化,就算是在无任何CSS样式修饰的情况下也能给他人在阅读时带来便利,甚至可以夸张点说在搜索引擎
- asp中我们可以利用ERR对象来判断sql语句执行是否成功:SQL="Insert INTO TABLE(F1,F2) value
- TensorFlow中的log共有INFO、WARN、ERROR、FATAL 4种级别。有以下几种设置方式。1. 通过设置环境变量控制log
- 本文实例讲述了JS实现仿Windows经典风格的选项卡Tab切换代码。分享给大家供大家参考,具体如下:这款仿Windows风格的选项卡,带有
- 代码如下:< % '功能:显示数据库中表名、字段名、字段内容 '原创:wangsdong
- python虽然是一门'慢语言',但是也有着比较多的性能检测工具来帮助我们优化程序的运行效率。这里总结了五个比较好的pyth
- 我们在使用ASP 内置的ADO组件进行数据库编程时,通常是在脚本的开头打开一个连接,并在脚本的最后关闭它,但是就较大脚本而言,在多
- 安装pip install websocket-client先来看一下,长连接调用方式:ws = websocket.WebSocketAp
- Django分页功能的实现打开命令行窗口,创建Django工程,使用以下命令:django-admin startproject djpag
- 本文实例为大家分享了Python/C++实现字符串逆序的具体代码,供大家参考,具体内容如下题目描述:将字符串逆序输出Python实现一:借助
- 一、算法概述AdaBoost 是英文 Adaptive Boosting(自适应增强)的缩写,由 Yoav Freund 和Robert S
- MatplotlibMatplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手 Matplo
- 示例代码: BulkStockBll bll = new BulkStockBll(); DataSet ds = bll.GetBulkS