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

QML Chart组件之图例

目录

    • 前言
    • 相关系列
    • 图例基础知识
    • 基础示例
    • 图例属性说明
      • 1. 设置图例不可见
      • 2. 设置图例边框和背景样式
      • 3. 设置图例字体
      • 4. 设置标签颜色
      • 5. 设置标记形状
      • 6. 反转标识
      • 7. 设置图例位置
      • 8. 设置图例ToolTips
    • 结语
    • 源码下载

前言

在上文 QML Chart组件之坐标轴共有属性 中介绍了坐标轴基类的通用方法,本篇主要介绍Chart组件的 Legend(图例)用法。图例是图表中用于标识不同数据系列的视觉元素,它通过颜色、形状和文本来区分各个数据序列,帮助用户更好地理解图表内容。

相关系列

  • QML Chart组件之坐标轴共有属性
  • QML Chart组件之坐标轴示例
  • 在QML中使用Chart组件

图例基础知识

在Qt Charts中,Legend类是图表的图例组件,用于展示各个数据系列的标识。每个ChartView都有一个默认的图例,可以通过legend属性进行访问和配置。图例可以显示系列名称、颜色标记,并支持交互操作(如点击隐藏/显示系列)。

图例的主要作用包括:

  • 标识不同数据系列的含义
  • 通过视觉元素区分数据系列
  • 提供交互功能控制系列显示状态

基础示例

import QtQuick
import QtQuick.Layouts
import QtChartsRectangle {Layout.fillWidth: trueLayout.fillHeight: trueChartView {id: chartViewtitle: "图例"titleFont.bold: truetitleFont.pointSize: 14anchors.fill: parentantialiasing: trueValueAxis {id: valueAxisXmin: 0max: 4titleText: "X Title"}ValueAxis {id: valueAxisYmin: 0max: 16titleText: "Y Title"}LineSeries {name: "line1"XYPoint { x: 0; y: 0 }XYPoint { x: 1; y: 1 }XYPoint { x: 2; y: 4 }XYPoint { x: 3; y: 9 }XYPoint { x: 4; y: 16 }axisX: valueAxisXaxisY: valueAxisY}LineSeries {name: "line2"XYPoint { x: 0; y: 2 }XYPoint { x: 1; y: 4 }XYPoint { x: 2; y: 5 }XYPoint { x: 3; y: 8 }XYPoint { x: 4; y: 12 }axisX: valueAxisXaxisY: valueAxisY}}
}

在这里插入图片描述
▲ 基础示例效果图

接下来要在此示例的基础上进行调整,展示如何设置Legend属性,以及修改后的效果。


图例属性说明

1. 设置图例不可见

默认情况下,图例是可见的。通过设置legend.visible属性为false可以隐藏图例。

ChartView {id: chartViewtitle: "图例"titleFont.bold: truetitleFont.pointSize: 14anchors.fill: parentantialiasing: truelegend.visible: false
}

隐藏图例


2. 设置图例边框和背景样式

可以通过相关属性设置图例的背景和边框样式,增强视觉效果。

ChartView {id: chartViewtitle: "图例"titleFont.bold: truetitleFont.pointSize: 14anchors.fill: parentantialiasing: truelegend.visible: truelegend.backgroundVisible: truelegend.color: "#E0E0E0"legend.borderColor: "#999999"
}

在这里插入图片描述
▲ 设置图例边框和背景样式的效果


3. 设置图例字体

可以自定义图例中文本的字体样式,包括字体家族、大小和粗细。

ChartView {id: chartViewtitle: "图例"titleFont.bold: truetitleFont.pointSize: 14anchors.fill: parentantialiasing: truelegend.visible: truelegend.font.family: "Courier"legend.font.pointSize: 12legend.font.bold: true
}

在这里插入图片描述
▲ 设置图例字体样式的效果


4. 设置标签颜色

通过labelColor属性可以设置图例文本的颜色。

ChartView {id: chartViewtitle: "图例"titleFont.bold: truetitleFont.pointSize: 14anchors.fill: parentantialiasing: truelegend.visible: truelegend.labelColor: "#1296FF"
}

在这里插入图片描述
▲ 设置图例标签颜色的效果


5. 设置标记形状

markerShape属性用于设置图例中标记的形状,可以选择多种预设形状。

ChartView {id: chartViewtitle: "图例"titleFont.bold: truetitleFont.pointSize: 14anchors.fill: parentantialiasing: truelegend.visible: truelegend.markerShape: Legend.MarkerShapeFromSeries
}
常量描述
Legend.MarkerShapeRectangle图例标记为矩形
Legend.MarkerShapeCircle图例标记为圆形
Legend.MarkerShapeRotatedRectangle图例标记为旋转的矩形
Legend.MarkerShapeTriangle图例标记为三角形
Legend.MarkerShapeStar图例标记为星形
Legend.MarkerShapePentagon图例标记为五边形
Legend.MarkerShapeFromSeries图例标记形状由系列决定

MarkerShapeRectangle(图例标记为矩形):
在这里插入图片描述

MarkerShapeCircle(图例标记为圆形):
在这里插入图片描述
MarkerShapeRotatedRectangle(图例标记为旋转的矩形):
在这里插入图片描述
MarkerShapeTriangle(图例标记为三角形):
在这里插入图片描述
MarkerShapeStar(图例标记为星形):
在这里插入图片描述
MarkerShapePentagon(图例标记为五边形):
在这里插入图片描述
MarkerShapeFromSeries(图例标记形状由系列决定):
在这里插入图片描述
▲ 不同标记形状的效果对比


6. 反转标识

reverseMarkers属性可以控制图例中标记和文本的显示顺序。

ChartView {id: chartViewtitle: "图例"titleFont.bold: truetitleFont.pointSize: 14anchors.fill: parentantialiasing: truelegend.visible: truelegend.reverseMarkers: true
}

在这里插入图片描述
▲ 设置反转标识的效果


7. 设置图例位置

通过alignment属性可以控制图例在图表中的位置。

ChartView {id: chartViewtitle: "图例"titleFont.bold: truetitleFont.pointSize: 14anchors.fill: parentantialiasing: truelegend.visible: truelegend.alignment: Qt.AlignBottom
}

支持的位置包括:

  • Qt.AlignTop:顶部
  • Qt.AlignBottom:底部
  • Qt.AlignLeft:左侧
  • Qt.AlignRight:右侧

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

▲ 图例在不同位置的效果


8. 设置图例ToolTips

注意:此属性目前没有效果,因为QML中不支持工具提示。

结语

本文详细介绍了QML Chart组件中图例的各种属性和用法,包括显示控制、样式设置、位置调整等方面。通过合理配置图例属性,可以显著提升图表的可读性和用户体验。

在实际开发中,建议根据图表类型和数据特点选择合适的图例样式,并保持整体UI风格的一致性。对于复杂的数据可视化需求,还可以考虑使用自定义的图例组件来实现更高级的效果。

源码下载

Git Code 下载链接:QML Chart组件之图例示例

在这里插入图片描述


参考文献:

  • Qt官方文档 - Legend QML Type
  • Qt Charts示例
http://www.dtcms.com/a/360262.html

相关文章:

  • leetcode_74 搜索二维矩阵
  • tiktok弹幕 X-Bogus
  • Self-Attention的实现
  • nginx-增加VTS模块
  • [光学原理与应用-357]:ZEMAX - 分析 - 光线迹点
  • Ubuntu 中复制粘贴快捷键
  • 中国 AI 应用出海研究:出海逻辑和注意事项
  • Dreamore AI-解读并描绘你的梦境
  • USBX移植(X是eXtended的意思)
  • 基于i.MX6ULL的RAM Disk驱动开发
  • Linux目录和命令介绍
  • 如何建立奢侈品牌的数字资产安全管控体系?
  • leetcode 371 两个整数之和
  • 智能数据建设与治理 Dataphin-数仓分层
  • 基于AI的大模型在S2B2C商城小程序中的应用与定价策略自我评估
  • “机器人管家“离我们还有多远?
  • 7.3 el-menu
  • 【C2000】C2000的硬件设计指导与几点意见
  • 官方 API 与网络爬虫的技术特性对比及选型分析
  • shell编程基础入门-2
  • Overleaf中文显示
  • 把 `QVector<QPointF>` 写入文件:三种风格、三段独立可编译的完整代码
  • APB协议​​ 构建一个完整的 ​​UVM验证VIP Agent介绍类的要素
  • 《隐性质量:决定软件生命周期的看不见的竞争力》
  • 【Linux】创建线程
  • flutter工程
  • 包的相对导入
  • Android开发简介
  • Redis常见数据类型及应用场景
  • Pytest 插件介绍和开发