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

QML使用ChartView绘制箱线图

一、工程配置

首先修改CMakeLists.txt,按下图修改:
在这里插入图片描述

find_package(Qt6 6.4 REQUIRED COMPONENTS Quick Widgets) PRIVATE

target_link_libraries(appuntitled
    PRIVATE Qt6::Quick
    PRIVATE Qt6::Widgets
)

其次修改main.cpp,按下图修改:
在这里插入图片描述

#include <QApplication>
QApplication app(argc, argv);

二、ChartView介绍

  • ChartView是QML中用于绘制各种图表的组件,可以通过简单的QML代码快速创建各种类型的图表,如折线图、柱状图、饼图等。ChartView基于Qt Charts模块,提供了丰富的功能和样式选项,使开发者可以定制自己的图表风格。
  • 使用ChartView,开发者可以轻松地绑定数据模型,并通过属性设置来调整图表的外观和交互方式。同时,ChartView还支持动画效果、交互式操作和事件处理,可以让图表更加生动和用户友好。
  • 总的来说,ChartView是一个强大而灵活的工具,帮助开发者快速地实现各种图表需求,并为用户提供更好的数据可视化体验。

三、箱线图介绍

  • 箱线图,是一种用于展示数据分布情况的统计图表。它显示了数据集中的五个统计数字:最小值、第一四分位数、中位数、第三四分位数和最大值。通过这些统计数字,我们可以快速了解数据的分布情况、离群值和数据的集中趋势。
  • 箱线图通常由一个矩形框和两条延伸出的线段组成。矩形框的上边界是第三四分位数,下边界是第一四分位数,中间的线段代表中位数。延伸出的线段则表示了数据的范围,通常是 1.5 倍的四分位数距离。超过这个距离的数据点被认为是离群值。
  • 通过箱线图,我们可以比较多组数据的分布情况,发现离群值,并且进一步分析数据的集中程度、偏斜性等统计特征。箱线图通常适用于展示连续型数据,可以帮助我们更好地了解数据集的结构和特点。

四、效果展示

在这里插入图片描述

五、源码分享

import QtQuick
import QtQuick.Controls
import Qt.labs.qmlmodels
import QtQuick.Controls.Basic
import QtQuick.Layouts
import QtQuick.Effects
import Qt.labs.platform
import QtQuick.VirtualKeyboard
import QtCharts

ApplicationWindow {
    id:root
    width: 1000
    height: 730
    visible: true
    title: qsTr("Hello World")

    ChartView {
        id: chart
        title: "box plot chart"
        anchors.fill: parent

        BoxPlotSeries {
            id: plotSeries
            name: "xupeng"
            BoxSet { label: "xupen1"; values: [3, 4, 5.1, 6.2, 8.5] }
            BoxSet { label: "xupen2"; values: [5, 6, 7.5, 8.6, 11.8] }
            BoxSet { label: "xupen3"; values: [3.2, 5, 5.7, 8, 9.2] }
            BoxSet { label: "xupen4"; values: [3.8, 5, 6.4, 7, 8] }
            BoxSet { label: "xupen5"; values: [4, 5, 5.2, 6, 7] }
        }
    }

}

六、程序崩溃的解决方法

按第一条工程配置修改自己的工程。

相关文章:

  • 【算法专场】哈希表
  • DeepSeek R1本地部署 DeepSeek Api接口调用 DeepSeek RAG知识库工作流详解
  • Guava学习(一)
  • 软件测试之白盒测试
  • 城电科技| 光伏太阳花:让绿色能源随处绽放
  • 51单片机-C语言扩展及最小系统
  • 机器学习所需数学知识详细版02【】
  • 华为最新OD机试真题-最长子字符串的长度(一)-Python-OD统一考试(E卷)
  • Unity使用iTextSharp导出PDF-03显示文本内容
  • LVS集群(DR/NAT)
  • 浅识MQ的 Kafka、ActiveMQ、RabbitMQ、RocketMQ区别
  • SIP协议支持的对接方式
  • 怎么查看电脑显存大小(查看电脑配置)
  • rpx和px混用方案
  • 红队视角出发的k8s敏感信息收集——服务发现与 DNS 探测
  • ESLint 规则解析:为什么应避免在 in 操作符左侧使用否定?
  • Mac 下使用多版本 Node
  • 用Shader glsl实现一个简单的PBR光照模型
  • Python 视频文本水印批量添加工具
  • 去中心化AGI网络架构:下一代人工智能的范式革命
  • 罕见沙尘再度入川,官方:沙尘传输高度达到平流层,远超以往
  • 安徽亳州涡阳县司法局党组书记刘兴连落马
  • 王受文已任全国工商联党组成员
  • 中国象棋协会坚决支持司法机关依法打击涉象棋行业的违法行为
  • 开局良好,我国第一季度广告业务收入保持较快增速
  • 溢价26.3%!保利置业42.4亿元竞得上海杨浦宅地,楼板价80199元/平方米