实战PyQt5: 142-QChart图表之百分比柱状图
off999 2024-10-27 11:47 39 浏览 0 评论
百分比柱状图将数据集中显示为每个类别在所有数据集中的百分比。创建百分比条形图类似于创建常规条形图,不同之处在于,对于百分比条形图,使用QPercentBarSeries而不是QBarSeries。在百分比柱状图的Y轴上,无需设置取值范围,因为Y轴的取值始终是0-100。
注:在所有的有关柱状图的示例中,使用了相同的数据,这样可以说明不同柱状图之间的差异。
QPercentBarSeries
QPercentBarSeries类将一系列分类的数据显示为每个类别的百分比。本类将数据绘制为一系列大小一致的垂直堆积的柱状图,每个类别一个柱状图。添加到图表中的每个柱状图组都为每个堆积的柱状图贡献一个分段。段的大小对应于段值相对于堆积中所有段的总值的百分比。零值的条不会绘制。
百分比柱状图示例
本示例显示了如何创建简单的百分比柱状图,完整代码如下:
import sys
from PyQt5.QtGui import QPainter, QPen
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtChart import (QChartView, QChart, QPercentBarSeries, QBarSet,
QLegend, QBarCategoryAxis, QValueAxis)
class DemoPercentBarSeries(QMainWindow):
def __init__(self, parent=None):
super(DemoPercentBarSeries, self).__init__(parent)
# 设置窗口标题
self.setWindowTitle('实战 Qt for Python: 百分比柱状图演示')
# 设置窗口大小
self.resize(480, 360)
self.createChart()
def createChart(self):
#创建条状单元
barSet0 = QBarSet('Jane')
barSet1 = QBarSet('Jone')
barSet2 = QBarSet('Axel')
barSet3 = QBarSet('Mary')
barSet4 = QBarSet('Samantha')
barSet0.append([1, 2, 3, 4, 5, 6])
barSet1.append([5, 0, 0, 4, 0, 7])
barSet2.append([3, 5, 8, 13, 8, 5])
barSet3.append([5, 6, 7, 3, 4, 5])
barSet4.append([9, 7, 5, 3, 1, 2])
#条状图
barSeries = QPercentBarSeries()
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()
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 = DemoPercentBarSeries()
window.show()
sys.exit(app.exec()) 运行结果如下图:
本文知识点
- 使用QPercentBarSeries绘制百分比柱状图。
前一篇: 实战PyQt5: 141-QChart图表之箱形图
请多多关注,评论,收藏,点赞,和转发。
相关推荐
- win8激活密钥2025(win8激活密钥永久激活码)
-
1不存在永久激活密钥,但可以使用一些有效期长的密钥去激活Win10专业版。2Windows10的激活方式是基于数字权利,当你购买Windows10时,系统会将您电脑的硬件信息和购买记录绑定在一起...
- windows远程桌面(远程桌面app安卓版)
-
要在WindowsServer2016上开启远程桌面服务,您可以按照以下步骤操作:1.**打开服务器管理器**:您需要登录到您的WindowsServer2016系统。2.**启用远程桌面...
- 网盘app下载安装(雀云网盘app下载安装)
-
因为这时的文件只是下载到云盘里,并没有下载到手机里,而在云盘里是不能执行安装程序的,需要把云盘里的安装包,下载到手机内存里面,才可以执行安装命令。现在相当于,你的快递已经在驿站签收了,随时都可以拿回来...
- 隐藏文件夹不显示(隐藏文件夹不显示出来)
-
如果,可能是文件被删除或移动到其他位置。隐藏文件是指在文件系统中设置了隐藏属性的文件,通过更改文件夹的设置可以显示或隐藏这些文件。如果文件夹显示隐藏文件的设置已经开启,但仍然找不到文件,可能是因为文件...
- 强制修改密码软件下载(强制密码修改器)
-
1.首先找回账户密码(适用于Android设备):如果您的设备与账户关联,可以访问账户的“找回密码”功能,通过重置密码来修改锁屏密码。2.使用其他登录方式(适用于iOS设备):如果您启用了Touch...
- 苹果ipad充不进电怎么办(苹果ipad充不进去电什么原因)
-
如果你发现你的iPad不能充电,那么你这样试一下,你看是不是充电的温度太低,你给他拿到一个比较温暖的房间里去,第2个就是你换一个充电器试一试,是不是那个充电器坏了,如果还不行的话,你可以把iPad重新...
- 无法正常启动0xc000005(无法正常启动你的电脑0xc0000001)
-
如果手机下载安装的第三方应用出现问题,无法正常使用,三星手机一般建议进行以下步骤排查及处理:1.关闭重新启动该应用。2.建议将此软件卸载重新安装尝试。3.更换其他版本尝试。4.更新下手机系统版本后安装...
- 无线网登录(无线网登录入口)
-
1.打开手机浏览器,访问192.168.0.1,输入用户名和密码就可以进入路由器管理界面。2.手机wifi连接路由器信号之后,会弹出对话框,需要输入用户名和密码(有的路由器只需要密码)。3.正确的输入...
- 恢复精灵免费版(恢复精灵app软件下载)
-
一般都是收费的。建议选择正规的软件。推荐你用《安易》数据恢复软件。聊天恢复精灵不需要电脑。因为聊天恢复精灵是属于线上的应用程序,只需要在电子设备里面下载安装聊天恢复精灵软件就可以直接使用不靠谱手机数据...
- 苹果系统官网下载地址(iphone官网ios下载)
-
PP助手、同步推等手机助手都可以下载已经下架的应用,这类助手有很多,一搜一大把,而且就我知道的PP助手还能选择下载历史版本,当然也有部分应用是没在商店上架的,他们是通过企业证书公布自己的应用,需要到官...
-
- win10桌面切换(w10系统桌面切换)
-
win10桌面1和桌面2快速切换方法:1.按住win按键按键盘的【win】按键。2.再按Tab按键同时按下【tab】按键。3.点击桌面选项点击界面的桌面选项完成切换。具体方...
-
2025-12-19 23:51 off999
-
- 下载qq号安装(下载qq安装包)
-
QQ不能更新和下载,可尝试一下办法:1,使用数据线,将手机和电脑连接,然后从电脑端下载,保证你不闪退,不掉线。2,将你手机桌面的QQ图标删除,彻底删除.从AppStore里下载.注:在你不联机的状态下,你可能用别的助手会闪退问题,推荐从...
-
2025-12-19 23:03 off999
- 笔记本电脑上网卡多少钱一个月
-
收费有好几种!1.按流量收费,这适合不怎么上网看电影,下载的人.(想用就用,而且价格便宜)2.按小时收费,用电脑的无线连移动的无线,那有说明。(10元40小时/每月,20元100小时/每月等等,还是手...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
