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

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.

四.图表的互动

  1. 与图表交互,最终用户可以通过向图表动态添加值、深入数据、放大和缩小图表、滚动图表、单击图表中的项目或将鼠标悬停在图表上,与图表进行交互。
  2. 动态图形数据,可以动态地向图表中添加数据,并使图表视图自动滚动以显示新数据。
  3. 详细数据显示,钻取效果可以实现为条形图或饼图。当用户在图表中选择项目时,将显示该项目的更详细视图。
  4. 缩放和滚动,用户可以使用键盘缩放和滚动。他们可以使用箭头键滚动图表,使用加号和减号键放大或缩小图表。此外,QRubberBand可用于选择要放大的区域。
  5. 单击并悬停,可以将插槽连接到终端用户单击图表中的项目或将鼠标悬停在其上时发出的信号。这能够向图表中添加元素,如标注。

五.图表样式主题

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图表源代码来添加新主题。

  1. ChartThemeLight
    在这里插入图片描述

  2. ChartThemeBlueCerulean
    在这里插入图片描述

  3. ChartThemeDark

    在这里插入图片描述

  4. ChartThemeBrownSand

在这里插入图片描述

  1. ChartThemeBlueNcs

    在这里插入图片描述

  2. ChartThemeHighContrast

    在这里插入图片描述

  3. ChartThemeBlueIcy

    在这里插入图片描述

  4. QT

    在这里插入图片描述

内容说明
QChart::NoAnimation0x0图表中禁用动画。这是默认值。
QChart::GridAxisAnimations0x1在图表中启用网格轴动画。
QChart::SeriesAnimations0x2图表中已启用系列动画。
QChart::AllAnimations0x3图表中启用了所有动画类型。

相关文章:

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 接口使得不同的应用程序能够方便地进行数据交换,从而促进了信息的广泛传播和利用。在众多的数据源中,商品数据是一个非常重要的领域&#xff0c…...

苹果 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 首先&#xff0c;关于[物理接口、协议、通道]2 物理接口&#xff1a;通讯中的电&#xff0c;光口&#xff0c;“物理规格&#xff0c;像是公路、铁路”。通道&#xff1a;通讯协议中的应用层以下所有层&#xff1f;“县道&#xff0c;省道&#xff0c;高速&am…...

芯片测试方案之如何测试芯片EN输入阈值?

在电源管理芯片的设计中&#xff0c;除了常规的VIN、VOUT以及GND端口之外&#xff0c;还会有SW、EN、FB等芯片独有的特殊端口引脚&#xff0c;这些引脚或负责电源开关的输入&#xff0c;或负责电路的反馈电压/电流&#xff0c;这些引脚在芯片的工作中有着极其重要的作用&#x…...

screenOrientation的值

在 Android 应用程序中&#xff0c;android:screenOrientation 属性可以设置为多个不同的值&#xff0c;以控制活动的屏幕方向。以下是一些常用的 android:screenOrientation 的值&#xff1a; "unspecified"&#xff1a;这是默认值&#xff0c;表示系统会根据设备的…...

为什么SQL预编译可以防止SQL注入攻击

前言 防范SQL注入攻击是每一位做后端开发的程序员必须会的基本功。本文介绍其中一种防范攻击的方法&#xff1a;SQL预编译。 本文大部分内容引用自这篇文章&#xff0c;部分内容有修改。 注入例子 先简单回顾下SQL注入攻击的过程&#xff0c;假设有一个SQL语句&#xff1a; …...

基于体系结构-架构真题2022(四十一)

给定关系模式R&#xff08;U,F&#xff09;&#xff0c;其中U为属性集&#xff0c;F是U上的一组函数依赖&#xff0c;那么函数依赖的公理系统中分解规则是指&#xff08;&#xff09;为F所蕴含。 解析&#xff1a; 伪传递是x到y&#xff0c;wy到z&#xff0c;则xw到z 传递是z…...

【uniapp+vue3 】页面加载时根据不同角色设置导航栏标题

uniapp 页面加载时根据不同角色设置导航栏标题 其实很好实现&#xff0c;第一次开发uniapp项目&#xff0c;所以什么都不懂&#xff0c;绕了一点点的弯路 在对应页面的onLoad中获取到跳转过来传的参数中的判断角色字段&#xff0c;我这里传的是getRole uni.setNavigationBarT…...

不讲故事的设计模式-模板方法模式

文章目录 模板方法模式简介作用模板方法模式的缺点模板方法模式的应用场景业务场景开源框架中的应用 对比回调和Hook模式关于组合优先于继承 关于设计模式乱用的现象 模板方法模式 简介 模板方法模式是一种行为型设计模式&#xff0c;该设计模式的核心在于通过抽象出一套相对…...

基于SpringBoot的酒店客房管理系统

基于SpringBoot的酒店管理系统、酒店客房管理系统 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 首页 管理员界面 用户界面 代码展示 <temp…...

消息队列-RabbitMQ(二)

接上文《消息队列-RabbitMQ&#xff08;一&#xff09;》 1、RabbitMQ概念...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题&#xff1a;阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程&#xff0c;导致后续逻辑无法执行&#xff1a; var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...