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

qt QCategoryAxis详解

1. 概述

QCategoryAxis 是 Qt Charts 模块中的一个类,用于在图表中表示分类轴。它允许将数据映射到轴上的类别标签,每个类别可以有自己的标签和范围。与 QBarCategoryAxis 不同,QCategoryAxis 允许自由指定类别范围的宽度。这使得它非常适合用于展示非数值型数据,例如在折线图或柱状图中表示不同的类别。

2. 重要方法
  • append(const QString &categoryLabel, qreal categoryEndValue)

    • 向轴上添加一个新的类别标签。categoryLabel 是类别的名称,categoryEndValue 是该类别的结束值。

  • clear()

    • 清空轴上的所有类别标签。

  • count()

    • 返回轴上类别标签的数量。

  • at(int index)

    • 返回指定索引位置的类别标签的文本。

  • remove(const QString &categoryLabel)

    • 删除指定标签的类别。

  • replaceLabel(const QString &oldLabel, const QString &newLabel)

    • 替换现有类别标签。

  • setStartValue(qreal min)

    • 设置轴上第一个类别的起始值。

  • setRange(qreal min, qreal max)

    • 设置轴的最小值和最大值。

3. 信号
  • categoriesChanged()

    • 当轴上的类别发生变化时发出。

4. 常用枚举
  • AxisLabelsPosition

    • 描述类别标签的位置:

      • AxisLabelsPositionCenter:标签居中于类别。

      • AxisLabelsPositionOnValue:标签位于类别的高端。

5. cpp实例
#include <QApplication>
#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
#include <QtCharts/QValueAxis>
#include <QtCharts/QAreaSeries>
#include <QLegend>
#include <QLegendMarker>
#include <QFont>
#include <QBarSet>
QT_CHARTS_USE_NAMESPACEint main(int argc, char *argv[])
{QApplication a(argc, argv);// 创建图表视图和图表对象QChartView *chartView = new QChartView();QChart *chart = new QChart();chartView->setChart(chart);// 创建折线序列并添加数据点QLineSeries *series = new QLineSeries();series->append(0, 5);series->append(1, 3);series->append(2, 4);series->append(3, 7);series->append(4, 2);chart->addSeries(series);// 创建分类轴 (X轴)QCategoryAxis *axisX = new QCategoryAxis();// 添加类别和对应的结束值// 区间: [0, 1) -> "C1", [1, 2) -> "C2", [2, 3) -> "C3", [3, 4] -> "C4"axisX->append("C1", 1);axisX->append("C2", 2);axisX->append("C3", 3);axisX->append("C4", 4);// 显式设置坐标轴范围,确保包含所有类别axisX->setRange(0, 4);// (可选) 设置标签显示在区间中心,避免在结束点堆积// axisX->setLabelsPosition(QCategoryAxis::AxisLabelsPositionCenter);axisX->setTitleText("Categories"); // 设置坐标轴标题// 创建数值轴 (Y轴)QValueAxis *axisY = new QValueAxis();axisY->setRange(0, 10);axisY->setTitleText("Value");// 将坐标轴与图表和序列关联chart->setAxisX(axisX, series);chart->setAxisY(axisY, series);// 设置图表标题和抗锯齿渲染chart->setTitle("QCategoryAxis Example");chartView->setRenderHint(QPainter::Antialiasing);// 显示图表视图chartView->show();return a.exec();
}

点击扫码加入群聊

觉得有帮助的话,打赏一下呗。。

           

需要商务合作(定制程序)的欢迎私信!! 


文章转载自:

http://t5TD18Yz.tbhLc.cn
http://IQrVbaBi.tbhLc.cn
http://yaslE2Iz.tbhLc.cn
http://5AvVwb3S.tbhLc.cn
http://XPds6X8Q.tbhLc.cn
http://a3KULWPW.tbhLc.cn
http://cmDEqV1i.tbhLc.cn
http://hV5XGKKB.tbhLc.cn
http://UYAzfJkF.tbhLc.cn
http://jWv4zKNS.tbhLc.cn
http://d0jTYByX.tbhLc.cn
http://cF5T3GgJ.tbhLc.cn
http://u5NSuVsi.tbhLc.cn
http://KZHEaidX.tbhLc.cn
http://3ot7Qj4H.tbhLc.cn
http://TZSo42QL.tbhLc.cn
http://EcFK9crl.tbhLc.cn
http://GrWODpyB.tbhLc.cn
http://djbdbJb0.tbhLc.cn
http://WMOeppJZ.tbhLc.cn
http://FWiNg9V6.tbhLc.cn
http://JAEYVapy.tbhLc.cn
http://pOzxoL8X.tbhLc.cn
http://MlR6Nmko.tbhLc.cn
http://mGrRECf8.tbhLc.cn
http://IGKvs6NC.tbhLc.cn
http://r8hBEmoK.tbhLc.cn
http://EKWDwyip.tbhLc.cn
http://bnVN8pjf.tbhLc.cn
http://r40NHLH3.tbhLc.cn
http://www.dtcms.com/a/387083.html

相关文章:

  • 云游戏时代,游戏盾如何保障新型业务的流畅体验
  • 【Block总结】LRSA,用于语义分割的低分辨率自注意力|TPAMI 2025
  • PY32MD310单片机介绍 电机控制专用,内置三相半桥栅极驱动器
  • Ubuntu服务器挖矿病毒清理
  • 【数据结构】——二叉树
  • 《怪物猎人 荒野》总整理:预载和开放时间、登场怪物
  • web服务解析案例
  • 莫烦Python基础笔记(部分)
  • ACP(四):RAG工作流程及如何创建一个RAG应用
  • qgis导入cad怎么做?
  • 在线图书借阅平台的设计与实现 —— 基于飞算JavaAI的实战开发全流程与优化实践(架构设计与核心模块开发)
  • Spring Cloud - 面试知识点(服务雪崩)
  • 【JQ】使用JS在前端达到存储cookie的效果
  • Git企业开发--分支管理
  • LoRaWAN方案详解:2025年LoRaWAN技术创新与行业发展趋势
  • 【Leetcode hot 100】108.将有序数组转换为二叉搜索树
  • 打包数据集解析及大模型强化学习拓展阅读(96)
  • 软考-系统架构设计师 系统分析与设计详细讲解
  • 什么是信创产品?信创产品认证有哪些标准?
  • docker和虚拟机对比
  • AI: Android 运行ONNX模型
  • transformer各层的输入输出
  • lvgl图形库和qt图形库比较
  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘PIL’ 问题
  • 搭建 PHP 网站
  • 流式分析:细胞分群方法
  • Redis 底层数据结构之 Dict(字典)
  • UE 最短上手路线
  • 动手学Agent:Agent设计模式——构建有效Agent的7种模型
  • 苍穹外卖day01