Qt Charts简介
文章目录
- 一.图标类型Charts分类
- 1.折线图和样条曲线图
- 2.面积图和散点图
- 3.条形图
- 4.饼图
- 5.误差棒图
- 6.烛台图
- 7.极坐标图
- 二.坐标轴Axes类型分类
- 三.图例
- 四.图表的互动
- 五.图表样式主题
一.图标类型Charts分类
图表是通过使用系列类的实例并将其添加到QChart或ChartView实例来创建的。
Qt图表模块提供以下图表类型:
- Line and spline charts:折线图和样条曲线图
- Area and scatter charts:面积图和散点图
- Bar charts:条形图或柱状图
- Pie charts:饼图
- Box-and-whiskers charts:误差棒图
- Candlestick charts:烛台图
- Polar charts:极坐标图
1.折线图和样条曲线图
折线图和样条曲线图将数据显示为一系列由直线连接的数据点。在折线图中,数据点由直线连接,而在样条曲线图中,它们由样条曲线连接。样条曲线是使用QPainterPath绘制的。折线图通过使用QLineSeries类实现。样条曲线图是通过使用继承QLineSeries的 QSplineSeries类实现的。

2.面积图和散点图
面积图将数据表示为由两条线限定的区域,而散点图将数据显示为点的集合。
面积图通过使用 QAreaSeries类实现。默认情况下,x轴用作一个边界,QLineSeries用作另一个边界。但是,可以使用 QLineSeries作为两个边界。散点图通过使用 QScatterSeries类实现。

3.条形图
条形图将数据显示为按类别分组的水平或垂直条形图。QBarSet 类表示条形图中的一组条形图。QAbstractBarSeries 类是所有条形系列类的抽象父类,序列类型决定数据的显示方式。QBarSeries 类将数据显示为按类别分组的垂直条。类似地,QHorizontalBarSeries 类将数据显示为水平条。 QStackedBarSeries类将一系列数据显示为垂直堆叠条形图,每个类别一个条形图。相应的水平类和类型为 QHorizontalStackedBarSeries。QPercentBarSeries类以每个类别的百分比表示一系列分类数据。相应的水平类和类型为QHorizontalPercentBarSeries 。


4.饼图
饼图将数据显示为由饼片组成的饼图。饼图使用QPieSeries 类实现,饼图切片使用 QPieSlice 类添加。

5.误差棒图
误差棒以四分位数的形式显示数据,并用胡须表示数值的可变性。方框图系列中的项目按类别分组,类似于条形图系列的条形图集。对于每个长方体和胡须项目,指定了下极值、下四分位数、中值、上四分位数和上极值。通过使用QBoxPlotSeries和QBoxSet类实现长方体和胡须图。

6.烛台图
烛台图表显示了一系列以烛台形式显示的数据。
通过使用QCandlestickSeries 和 QCandlestickSet 类实现烛台图表。

7.极坐标图
极坐标图以圆形图形显示数据,其中数据的放置基于与图形中心极坐标的角度和距离。
QPolarChart类是 QChart类的专门化。它支持直线、样条曲线、面积和散点序列,以及它们支持的所有轴类型。该轴可以用作径向轴或角度轴。

二.坐标轴Axes类型分类
Qt图表支持以下轴类型:
- Value axis:数值坐标轴,将实际值添加到图表的轴。它是使用 QValueAxis类实现的。
- Category axis:分类坐标轴,是使用 QCategoryAxis 类实现的。它具有命名范围和可调整范围宽度。
- Bar category axis:条形图分类轴,与类别轴类似,但所有范围的范围宽度相同。使用 QBarCategoryAxis类实现条类别轴。
- Date-time axis:日期时间坐标轴,将日期和时间添加到图表的轴。它是使用 QDateTimeAxis类实现的。
- Logarithmic value axis:对数值坐标轴,将对数刻度添加到图表的轴上。对数刻度是基于数量级的非线性刻度,因此轴上的每个刻度线都是上一个刻度线乘以一个值。使用 QLogValueAxis类实现对数轴。
可以设置轴以显示带有刻度线、网格线和阴影的线。轴上的值绘制在刻度标记的位置。所有轴类型都是QAbstractAxis类的特殊化。可以为一个图表定义多个轴。轴可以放在图表的下方、上方、左侧或右侧。此外,轴可以是不同类型的。但是,不支持混合会导致不同域的轴类型,例如在同一方向上指定 QValueAxis 和 QLogValueAxis。
三.图例
图例是显示图表图例的图形对象。无法创建或删除图例对象,但可以通过 QChart类引用它们。当序列更改时, QChart会更新图例状态。图例可以位于图表下方或上方,也可以位于图表的左侧或右侧。默认情况下,图例附加到图表视图,但可以分离到单独的图形项目,该项目可以自由移动。可以从图例或整个图例中隐藏单个标记。图例标记可以通过使用QLegendMarker基类和每个系列类型的子类进行修改:QAreaLegendMarker, QBarLegendMarker, QBoxPlotLegendMarker, QCandlestickLegendMarker, 和 QXYLegendMarker.
四.图表的互动
- 与图表交互,最终用户可以通过向图表动态添加值、深入数据、放大和缩小图表、滚动图表、单击图表中的项目或将鼠标悬停在图表上,与图表进行交互。
- 动态图形数据,可以动态地向图表中添加数据,并使图表视图自动滚动以显示新数据。
- 详细数据显示,钻取效果可以实现为条形图或饼图。当用户在图表中选择项目时,将显示该项目的更详细视图。
- 缩放和滚动,用户可以使用键盘缩放和滚动。他们可以使用箭头键滚动图表,使用加号和减号键放大或缩小图表。此外,QRubberBand可用于选择要放大的区域。
- 单击并悬停,可以将插槽连接到终端用户单击图表中的项目或将鼠标悬停在其上时发出的信号。这能够向图表中添加元素,如标注。
五.图表样式主题
Qt图表具有以下预定义主题:
- Light theme, which is the default theme:高亮主题
- Cerulean blue theme:蓝色主题
- Dark theme:深色主题
- Sand brown theme:沙棕色主题
- Natural color system (NCS) blue theme:自然蓝色主题
- High contrast theme:高对比度主题
- Icy blue theme:冰蓝色主题
- Qt theme:Qt类型主题
可以通过更改颜色、笔、画笔和字体来定制主题。可以通过修改Qt图表源代码来添加新主题。
-
ChartThemeLight

-
ChartThemeBlueCerulean

-
ChartThemeDark

-
ChartThemeBrownSand

-
ChartThemeBlueNcs

-
ChartThemeHighContrast

-
ChartThemeBlueIcy

-
QT

| 内容 | 值 | 说明 |
|---|---|---|
QChart::NoAnimation | 0x0 | 图表中禁用动画。这是默认值。 |
QChart::GridAxisAnimations | 0x1 | 在图表中启用网格轴动画。 |
QChart::SeriesAnimations | 0x2 | 图表中已启用系列动画。 |
QChart::AllAnimations | 0x3 | 图表中启用了所有动画类型。 |
相关文章:
Qt Charts简介
文章目录 一.图标类型Charts分类1.折线图和样条曲线图2.面积图和散点图3.条形图4.饼图5.误差棒图6.烛台图7.极坐标图 二.坐标轴Axes类型分类三.图例四.图表的互动五.图表样式主题 一.图标类型Charts分类 图表是通过使用系列类的实例并将其添加到QChart或ChartView实例来创建的…...
MinGW、GCC、GNU和MSVC是什么?有什么区别?
在C和C开发中,常常会遇到MinGW、GCC、GNU和MSVC这些术语。本教程将向您解释它们的含义以及它们之间的区别,帮助您更好地理解这些常见的编译工具和开发环境。 MinGW(Minimalist GNU for Windows): MinGW是一个开源的软件…...
引入easyExcel后,导致springboot项目无法开启tomcat
报错信息: Caused by: java.lang.annotation.IncompleteAnnotationException: org.terracotta.statistics.Statistic missing element type at sun.reflect.annotation.AnnotationInvocationHandler.invoke(AnnotationInvocationHandler.java:81) at com.sun.proxy…...
Doris数据库FE——启动流程源码详细解析
Doris中FE主要负责接收和返回客户端请求、元数据以及集群管理、查询计划生成等工作。代码路径:doris/fe/fe-core/src/main/java/org/apache/doris/DorisFE.java 环境检查 在启动FE的时候,主要做环境检查。检查一些启动时必要的环境变量以及初始化配置…...
服务断路器_Resilience4j线程池隔离实现
线程池隔离配置修改YML文件 resilience4j:thread-pool-bulkhead: instances:backendA:# 最大线程池大小maxThreadPoolSize: 4# 核心线程池大小coreThreadPoolSize: 2# 队列容量queueCapacity: 2编写controller /*** 测试线程池服务隔离* return*/Bulkhead(name "backe…...
原神启动原神启动原神启动原神启动
测试游戏抽卡场景是确保玩家可以正常抽取虚拟物品或角色的重要部分。以下是一些可能的游戏抽卡场景的测试用例示例: 1.正常抽卡流程: 2.测试用户是否能够成功进行一次或多次抽卡操作。 3.确保每次抽卡后,用户收到相应的物品或角色。 4.抽卡…...
Glide - Android的图像加载和缓存库,专注于平滑滚动
官网 GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling 项目介绍 An image loading and caching library for Android focused on smooth scrolling Glide is a fast and efficient open source media management a…...
如何使用 API 接口获取商品数据,从申请 API 接口、使用 API 接口到实际应用,一一讲解
在当今的数字化时代,应用程序接口(API)已经成为数据获取的重要通道。API 接口使得不同的应用程序能够方便地进行数据交换,从而促进了信息的广泛传播和利用。在众多的数据源中,商品数据是一个非常重要的领域,…...
苹果 CMS 原生 Java 白菜影视 App 源码【带打包教程】
苹果 CMS 原生 Java 白菜影视 App 源码是一款功能强大的影视应用程序,支持画中画、投屏、点播、播放前广告和支持普通解析等多种功能。与萝卜 App 源码相比,该套源码更加稳定,且拥有画中画投屏和自定义广告等功能,提高了安全性。 …...
Flutter开发之Package与Plugin
前言 在flutter中有包和插件两个概念,插件 (plugin) 是 package 的一种,全称是 plugin package,我们简称为 plugin,中文叫插件。包(Package)主要指对flutter相关功能的封装,类似于Android中的插件和iOS中的三方库。而插…...
[极客大挑战 2019]RCE ME 取反绕过正则匹配 绕过disable_function设置
目录 取反 1.蚁剑插件绕过 2.baypass disable_function open_dir/disable_function putenv()/LD_PRELOAD 来绕过限制 利用条件 利用思路 有意思。。。。 <?php error_reporting(0); if(isset($_GET[code])){$code$_GET[code];if(strlen($code)>40){die("Th…...
硬盘接口随机
关于硬盘接口 1 首先,关于[物理接口、协议、通道]2 物理接口:通讯中的电,光口,“物理规格,像是公路、铁路”。通道:通讯协议中的应用层以下所有层?“县道,省道,高速&am…...
芯片测试方案之如何测试芯片EN输入阈值?
在电源管理芯片的设计中,除了常规的VIN、VOUT以及GND端口之外,还会有SW、EN、FB等芯片独有的特殊端口引脚,这些引脚或负责电源开关的输入,或负责电路的反馈电压/电流,这些引脚在芯片的工作中有着极其重要的作用&#x…...
screenOrientation的值
在 Android 应用程序中,android:screenOrientation 属性可以设置为多个不同的值,以控制活动的屏幕方向。以下是一些常用的 android:screenOrientation 的值: "unspecified":这是默认值,表示系统会根据设备的…...
为什么SQL预编译可以防止SQL注入攻击
前言 防范SQL注入攻击是每一位做后端开发的程序员必须会的基本功。本文介绍其中一种防范攻击的方法:SQL预编译。 本文大部分内容引用自这篇文章,部分内容有修改。 注入例子 先简单回顾下SQL注入攻击的过程,假设有一个SQL语句: …...
基于体系结构-架构真题2022(四十一)
给定关系模式R(U,F),其中U为属性集,F是U上的一组函数依赖,那么函数依赖的公理系统中分解规则是指()为F所蕴含。 解析: 伪传递是x到y,wy到z,则xw到z 传递是z…...
【uniapp+vue3 】页面加载时根据不同角色设置导航栏标题
uniapp 页面加载时根据不同角色设置导航栏标题 其实很好实现,第一次开发uniapp项目,所以什么都不懂,绕了一点点的弯路 在对应页面的onLoad中获取到跳转过来传的参数中的判断角色字段,我这里传的是getRole uni.setNavigationBarT…...
不讲故事的设计模式-模板方法模式
文章目录 模板方法模式简介作用模板方法模式的缺点模板方法模式的应用场景业务场景开源框架中的应用 对比回调和Hook模式关于组合优先于继承 关于设计模式乱用的现象 模板方法模式 简介 模板方法模式是一种行为型设计模式,该设计模式的核心在于通过抽象出一套相对…...
基于SpringBoot的酒店客房管理系统
基于SpringBoot的酒店管理系统、酒店客房管理系统 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/Ecilpse、Navicat、Maven 系统展示 首页 管理员界面 用户界面 代码展示 <temp…...
消息队列-RabbitMQ(二)
接上文《消息队列-RabbitMQ(一)》 1、RabbitMQ概念...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
