当前位置: 首页 > news >正文

QT基础 柱状图

目录

1.QBarSeries 

2.QHorizontalBarSeries

3.QPercentBarSeries

4.QHorizontalPercentBarSeries

5.QStackedBarSeries

6.QHorizontalStackedBarSeries  


 从上图得知柱状的基类是QAbstractBarSeries,派生出来分别是柱状图的水平和垂直类,只是类型行不同

1.QBarSeries 

//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;
//![1]//![2]QBarSeries *series = new QBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);
//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisX = new QBarCategoryAxis();axisX->append(categories);chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);QValueAxis *axisY = new QValueAxis();axisY->setRange(0,15);chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);
//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);
//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);

2.QHorizontalBarSeries

    //![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;//![1]//![2]QHorizontalBarSeries *series = new QHorizontalBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple horizontal barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisY = new QBarCategoryAxis();axisY->append(categories);chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);QValueAxis *axisX = new QValueAxis();chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);axisX->applyNiceNumbers();//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);//![6]

 

3.QPercentBarSeries

//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;
//![1]//![2]QPercentBarSeries *series = new QPercentBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);
//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);
//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisX = new QBarCategoryAxis();axisX->append(categories);chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);QValueAxis *axisY = new QValueAxis();chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);
//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);

4.QHorizontalPercentBarSeries

//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;
//![1]//![2]QHorizontalPercentBarSeries  *series = new QHorizontalPercentBarSeries ();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);
//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);
//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisY = new QBarCategoryAxis();axisY->append(categories);chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);QValueAxis *axisX = new QValueAxis();chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);
//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);
//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);

 

5.QStackedBarSeries

 //![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;//![1]//![2]QStackedBarSeries *series = new QStackedBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisX = new QBarCategoryAxis();axisX->append(categories);chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);QValueAxis *axisY = new QValueAxis();chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);

6.QHorizontalStackedBarSeries  

//![1]QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *set2 = new QBarSet("Axel");QBarSet *set3 = new QBarSet("Mary");QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6;*set1 << 5 << 0 << 0 << 4 << 0 << 7;*set2 << 3 << 5 << 8 << 13 << 8 << 5;*set3 << 5 << 6 << 7 << 3 << 4 << 5;*set4 << 9 << 7 << 5 << 3 << 1 << 2;
//![1]//![2]QHorizontalStackedBarSeries *series = new QHorizontalStackedBarSeries();series->append(set0);series->append(set1);series->append(set2);series->append(set3);series->append(set4);//![2]//![3]QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Simple horizontal stacked barchart example");chart->setAnimationOptions(QChart::SeriesAnimations);
//![3]//![4]QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";QBarCategoryAxis *axisY = new QBarCategoryAxis();axisY->append(categories);chart->addAxis(axisY, Qt::AlignLeft);series->attachAxis(axisY);QValueAxis *axisX = new QValueAxis();chart->addAxis(axisX, Qt::AlignBottom);series->attachAxis(axisX);
//![4]//![5]chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);
//![5]//![6]QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);
//![6]

相关文章:

QT基础 柱状图

目录 1.QBarSeries 2.QHorizontalBarSeries 3.QPercentBarSeries 4.QHorizontalPercentBarSeries 5.QStackedBarSeries 6.QHorizontalStackedBarSeries 从上图得知柱状的基类是QAbstractBarSeries&#xff0c;派生出来分别是柱状图的水平和垂直类&#xff0c;只是类型…...

微机原理与接口技术-第七章输入输出接口

文章目录 I/O接口概述I/O接口的典型结构基本功能 I/O端口的编址独立编址统一编址 输入输出指令I/O寻址方式I/O数据传输量I/O保护 16位DOS应用程序DOS平台的源程序框架DOS功能调用 无条件传送和查询传送无条件传送三态缓冲器锁存器接口电路 查询传送查询输入端口查询输出端口 中…...

YoloV8改进策略:独家原创,LSKA(大可分离核注意力)改进YoloV8,比Transformer更有效,包括论文翻译和实验结果

文章目录 摘要论文:《LSKA(大可分离核注意力):重新思考CNN大核注意力设计》1、简介2、相关工作3、方法4、实验5、消融研究6、与最先进方法的比较7、ViTs和CNNs的鲁棒性评估基准比较8、结论YoloV8官方结果改进一:测试结果摘要 本文给大家带来一种超大核注意力机制的改进方…...

7天易语言从入门到实战(一)

1.1易语言简介 易语言是一门有着伟大理想的语言。公司用的少&#xff0c;开发者也很少&#xff0c;并不影响国人对他的热情。曾经的多玩LOL&#xff0c;朗读女&#xff0c;都是陪伴再那个国产PC应用匮乏的时代。 2001年1月 吴涛研发了中国自主知识产权的的中文编程语言——易语…...

redis缓存问题

缓存击穿 缓存击穿是指某个热点数据存储在redis中&#xff0c;该数据在高并发的场景下&#xff0c;当该key过期时就会有大量的请求去查询数据库&#xff0c;对数据库的压力非常大&#xff0c;可能会导致数据库压垮。 解决方案 1.不为热点的key设置过期时间。 2.使用分布式锁…...

mysql创建自定义函数报错

mysql创建自定义函数报错&#xff1a;This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declarat… 这是我们开启了bin-log&#xff0c;我们就必须指定我们的函数是否是 1.DETERMINISTIC 不确定的 2.NO SQL没有sql语句&#xff0c;当然也不会修改数…...

Docker 的数据管理与网络通信以及Docker镜像的创建

目录 Docker的数据管理 1、数据卷 2、数据卷容器 3、端口映射 4、容器互联 二、Docker网络 1、Docker网络实现原理 2、Docker的网桥模式 1&#xff09;Host 2&#xff09;Container 3&#xff09;none 4&#xff09;bridge 5&#xff09;自定义网络 3、创建自定义…...

linux系统查看bash的history

要输出最近的20条命令&#xff0c;可以使用history命令。在Bash终端中&#xff0c;输入以下命令即可获取最近的20条命令历史记录&#xff1a; history 20这将显示你最近执行的20条命令及其相应的行号。 要将最近的20条命令写入到一个名为 “command.txt” 的文本文件中&#…...

【T+】畅捷通T+增加会计科目提示执行超时已过期。

【问题描述】 在畅捷通T软件中&#xff0c; 增加会计科目的时候提示&#xff1a; 通过DataTable插入ext扩展表出错:执行超时已过期。 完成操作之前已超时或服务器未响应。 操作已被用户取消。 语句已终止。 【解决方法】 【方法一】 注销用户登录&#xff0c;回到软件登录界面…...

0基础学习VR全景平台篇第111篇:全景图拼接和编辑 - PTGui Pro教程

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 前情回顾&#xff1a;上节&#xff0c;我们将源图像导入了PTGui&#xff0c;也设置好了各项参数。 下面我们就开始拼接全景图&#xff0c;并且在编辑器里进行一系列检查错位和设…...

Dynamics 365 使用ILMerge 合并CRM开发后的DLL

很久以前写过一篇博文&#xff0c;关于用ILMerge 命令合并DLL,当时时纯敲命令行的&#xff0c;现在有了更简单的方式&#xff0c;只需要在NuGet下载如下两个包 另外插件引用第三方dll的新方案Preview来了&#xff0c;不久的将来就不需要使用ILMerge了...

SpringBoot Web请求响应

目录 前言请求PostmanPostman使用 简单参数原始方式接收普通参数SpringBoot方式接收普通参数参数名不一致问题 实体参数简单实体参数复杂实体对象 数组集合参数数组参数集合参数 日期参数JSON参数路径参数 响应ResponseBody统一响应结果请求响应案例案例需求与准备工作案例实现…...

Jenkins CLI二次开发工具类

使用Jenkins CLI进行二次开发 使用背景 公司自研CI/DI平台&#xff0c;借助JenkinsSonarQube进行代码质量管理。对接版本 Jenkins版本为&#xff1a;Version 2.428 SonarQube版本为&#xff1a;Community EditionVersion 10.2.1 (build 78527)技术选型 Java对接Jenkins有第…...

2. 计算WPL

题目 Huffman编码是通信系统中常用的一种不等长编码&#xff0c;它的特点是&#xff1a;能够使编码之后的电文长度最短。 更多关于Huffman编码的内容参考教材第十章。 输入&#xff1a; 第一行为要编码的符号数量n 第二行&#xff5e;第n1行为每个符号出现的频率 输…...

筹备三年,自动驾驶L3标准将至,智驾产业链的关键一跃

‍作者|张祥威 编辑|德新 多位知情人士告诉HiEV&#xff0c;智能网联汽车准入试点通知&#xff0c;乐观预计将在一个月内发布。试点的推动&#xff0c;意味着国家层面的自动驾驶L3标准随之到来。 「L3标准内容大部分与主机厂相关&#xff0c;由工信部牵头&#xff0c;找了几家…...

【Python】Python使用Switch语句

这里写目录标题 1.使用字典&#xff08;Dictionary&#xff09;2.使用if-elif-else 1.使用字典&#xff08;Dictionary&#xff09; 在 Python 中&#xff0c;没有内置的 switch 语句&#xff0c;但可以使用其他方式来实现类似的功能。以下是两种常见的方法&#xff1a; 使用…...

一年一度的1024程序员节

前言 1024 程序员节是中国程序员的节日&#xff0c;于每年的 10 月 24 日庆祝。这个节日旨在纪念和表彰程序员对科技和社会发展所做的贡献。 1024 程序员节最早由中国互联网公司 CSDN&#xff08;中国软件开发者网&#xff09;发起&#xff0c;自然而然地成为了中国程序员社区…...

第十七章 数据库操作

数据库基础 和JDBC概论和常用类和接口就不过多的说了 直接来到 数据库的操作 一开始是在数据库中插入了四个类型 两个int 两个varchar类型 再分别插入 名字 序号 号码 性别 然后再在java中操作增删改查 这几个操作 全部代码如下 package 第十七章; import j…...

RTI-DDS代码分析使用介绍

DDS(Data Distribution Service数据分发服务)是对象管理组织OMG的有关分布式实时系统中数据发布的规范。 DDS规范采用了发布/订阅体系结构&#xff0c;但对实时性要求提供更好的支持。DDS是以数据为中心的发布/订阅通信模型。 以下工程基于rti_connext_dds-7.2.0 hello_world.…...

ant-design-vue 3 a-table保留选中状态

业务需求需要保留选中状态 <a-table class"satistic-table" :row-selection"{ selectedRowKeys: selectedRowKeys, onSelect:onSelect,onSelectAll:onSelectAll }" :row-key"(row)>{ return row.customerId}" :columns"columns"…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...