Qt图表概述
官方文档:http://doc.qt.io/qt-5/qtcharts-overview.html#line-and-spline-charts
Qt Charts可以创建时尚,互动,以数据为中心的用户界面。Qt Charts使用Graphics View Framework来简化集成。图表组件可以用作QWidget或QGraphicsWidget对象或QML类型。
图表类型
Qt Charts模块提供以下图表类型:
- 线和样条图:线和样条图将数据显示为由线连接的一系列数据点。在折线图中,数据点通过直线连接,而在样条图中,它们通过样条连接。使用QPainterPath绘制样条曲线。
- 面积和散点图:面积图将数据显示为由两条线约束的区域,而散点图将数据显示为点的集合。
- 条形图:条形图将数据显示为按类别分组的水平或垂直柱状图。
- 饼状图:饼图将数据显示为由扇形组成的饼图。
- 盒子和胡须图表:盒须图表显示数据为四分位数,用胡须表示,显示值的可变性。框图系列中的项目按类别分组,类似于条形系列中的条形图集。对于每个盒子和胡须项目,指定下限,下四分位数,中位数,上四分位数和上限值。
- 烛台图表:烛台图表显示了一系列显示为烛台的数据。
- 极地图表 :极坐标图以圆形图形显示数据,其中数据的放置基于距图形中心(极点)的角度和距离。
轴
Qt Charts支持以下轴类型:
- 价值轴
- 类别轴
- 条形轴类型
- 日期时间轴
- 对数值轴
Legend
Legend是显示图表图例的图形对象。无法创建或删除图例对象,但可以通过QChart类或ChartView QML类型引用它们。当系列更改时,图例状态由QChart或ChartView更新。
Legend可以位于图表的下方或上方,也可以位于图表的左侧或右侧。默认情况下,Legend附加到图表视图,但它可以分离到可以自由移动的单独图形项目。
可以隐藏图例或整个Legend中的单个标记。
与图表交互
最终用户可以通过动态地向其添加值,向下钻取数据,放大和缩小图表,滚动图表,单击图表中的项目或将鼠标悬停在图表上来与图表进行交互。
动态绘制数据
可以动态地向图表添加数据,并使图表视图自动滚动以显示新数据。
有关更多信息,请参见动态样条线示例。
深入研究数据
例如,可以对条形图或饼图实施向下钻取效果。当用户选择图表中的项目时,将显示该项目的更详细视图。这是通过删除第一个系列并添加另一个系列来实现的。
缩放和滚动
用户可以使用键盘进行缩放和滚动。他们可以使用箭头键滚动图表,并使用加号和减号键放大或缩小图表。此外,QRubberBand可用于选择要放大的区域。
在触摸设备上,手势可用于平移和缩放。
单击并悬停
您可以将插槽连接到最终用户单击图表中的项目或将鼠标悬停在其上时发出的信号。这使您可以向图表添加元素,例如标注。
主题
主题是应用于图表的所有可视元素的UI样式相关设置的内置集合,例如颜色,笔,画笔和系列字体,以及轴,标题和图例。
Qt Charts附带以下预定义主题:
- Light主题,这是默认主题
- Cerulean蓝色主题
- 黑暗的主题
- 沙棕色主题
- 自然色系(NCS)蓝色主题
- 高对比度主题
- 冰冷的蓝色主题
- Qt主题
可以通过更改颜色,笔,画笔和字体来自定义主题。可以通过修改Qt Charts源代码添加新主题。
注意:更改主题将覆盖先前应用于该系列的所有自定义。