本页内容

ChartView QML Type

管理图表中数据系列、图例和坐标轴的图形显示。更多...

Import Statement: import QtCharts 2.12
Inherited By:

PolarChartView

Status: Deprecated

此类型已弃用。我们强烈建议不要在新代码中使用它。

属性

信号

方法

详细说明

ChartView 类型将不同的数据系列以图表形式显示。

本示例演示了如何创建一个简单的折线图:

一条上升线达到峰值后趋于平稳的折线图

ChartView {
    title: "Line Chart"
    anchors.fill: parent
    antialiasing: true

    LineSeries {
        name: "Line"
        XYPoint { x: 0; y: 0 }
        XYPoint { x: 1.1; y: 2.1 }
        XYPoint { x: 1.9; y: 3.3 }
        XYPoint { x: 2.1; y: 2.1 }
        XYPoint { x: 2.9; y: 4.9 }
        XYPoint { x: 3.4; y: 3.0 }
        XYPoint { x: 4.1; y: 3.3 }
    }
}

属性文档

animationDuration : int

图表动画的持续时间。

animationEasingCurve : easing

图表动画的缓和曲线。

animationOptions : enumeration

图表中启用的动画效果:

恒定描述
ChartView.NoAnimation图表中已禁用动画。这是默认值。
ChartView.GridAxisAnimations图表中已启用网格轴动画。
ChartView.SeriesAnimations图表中已启用系列动画。
ChartView.AllAnimations图表中启用了所有动画类型。

axes : list<AbstractAxis>

图表的坐标轴。

backgroundColor : color

图表背景的颜色。默认情况下,背景颜色由图表主题决定。

另请参阅 theme 。

backgroundRoundness : real

图表背景角处的圆角半径。

count : int

新增到排行榜中的系列数量。

dropShadowEnabled : bool

是否启用背景阴影效果。

如果设置为true ,则启用背景阴影效果;如果设置为false ,则禁用该效果。

legend : Legend

图表图例。图例列出了添加到图表中的所有数据系列、饼图扇区和条形图组。

locale : locale [since QtCharts 2.0]

用于格式化各种图表标签的区域设置。

只有当localizeNumbers 的值为true 时,标签才会进行本地化,但DateTimeAxis标签除外,它们始终使用通过此属性设置的QLocale 。

默认值为图表构建时应用程序的默认区域设置。

该属性在 QtCharts 2.0 中引入。

另请参阅 localizeNumbers 。

localizeNumbers : bool [since QtCharts 2.0]

是否对数字进行本地化。

当true 时,各种系列和坐标轴标签中出现的所有生成的数字都将使用通过locale 属性设置的QLocale 进行本地化。当false 时,始终使用C语言环境。默认值为false 。

注意:此 属性不影响 DateTimeAxis 标签,这些标签始终使用通过 locale 属性设置的QLocale 。

该属性在 QtCharts 2.0 中引入。

另请参阅 locale 。

margins : Margins

图表矩形边缘与绘图区域之间允许的最小边距。这些边距用于绘制标题、坐标轴和图例。

plotArea : rect

绘制图表所处的矩形区域。

绘图区域不包括由边距定义的区域。默认情况下,若位于ChartView 内部,该区域会自动调整大小。如果为绘图区域显式设置了矩形,则会遵循该设置;若要恢复默认行为,可将其设置为Qt.rect(0, 0, 0, 0) 。

另请参阅 margins 。

plotAreaColor : color

图表绘图区域的背景颜色。默认情况下,绘图区域的背景使用图表的背景颜色,该颜色由图表主题指定。

另请参阅 backgroundColor 和theme 。

theme : enumeration

图表所使用的主题。

主题是一组内置的与用户界面样式相关的设置集合,适用于图表的所有视觉元素,例如数据系列的颜色、笔触、画笔和字体,以及坐标轴、标题和图例。Qml Oscilloscope示例演示了如何设置主题。

注意:更改 主题将覆盖之前对数据系列所做的所有自定义设置。

支持以下值:

常量描述
ChartView.ChartThemeLight浅色主题,即默认主题。
ChartView.ChartThemeBlueCerulean天蓝色主题。
ChartView.ChartThemeDark深色主题。
ChartView.ChartThemeBrownSand沙褐色主题。
ChartView.ChartThemeBlueNcs自然色彩系统(NCS)蓝色主题。
ChartView.ChartThemeHighContrast高对比度主题。
ChartView.ChartThemeBlueIcy冰蓝色主题。
ChartView.ChartThemeQtQt 主题。

title : string

标题将作为图表顶部的标题显示。图表标题支持 HTML 格式。

另请参阅 titleColor 。

titleColor : color

标题文本的颜色。

titleFont : font

图表的标题字体。

有关详细信息,请参阅font 。

Signal 文档

seriesAdded(AbstractSeries series)

当将序列series 添加到图表时,会发出此信号。

注意: 对应的处理程序 为onSeriesAdded 。

seriesRemoved(AbstractSeries series)

当时间序列series 从图表中移除时,会触发此信号。当信号处理程序执行完毕后,该时间序列对象将失效。

注意: 相应的处理程序 为onSeriesRemoved 。

方法文档

Axis axisX(AbstractSeries series)

series 的 x 轴。

另请参阅 setAxisX()。

Axis axisY(AbstractSeries series)

series 的 y 轴。

另请参阅 setAxisY()。

AbstractSeries createSeries(enumeration type, string name, AbstractAxis axisX, AbstractAxis axisY)

向图表中添加一个类型为type 的系列,其名称为name ,并可选地指定坐标轴axisX 和axisY 。例如:

// lineSeries is a LineSeries object that has already been added to the ChartView; re-use its axes
var myAxisX = chartView.axisX(lineSeries);
var myAxisY = chartView.axisY(lineSeries);
var scatter = chartView.createSeries(ChartView.SeriesTypeScatter, "scatter series", myAxisX, myAxisY);

以下枚举值可作为type 的取值:

常量描述
ChartView.SeriesTypeLine一条线系列。
ChartView.SeriesTypeArea面积系列。
ChartView.SeriesTypeBar条形图系列。
ChartView.SeriesTypeStackedBar堆叠条形图。
ChartView.SeriesTypePercentBar百分比条形图系列。
ChartView.SeriesTypeBoxPlot箱线图系列。
ChartView.SeriesTypeCandlestickK线图系列。
ChartView.SeriesTypePie饼图系列。
ChartView.SeriesTypeScatter散点图系列。
ChartView.SeriesTypeSpline样条图系列。
ChartView.SeriesTypeHorizontalBar水平条形图系列。
ChartView.SeriesTypeHorizontalStackedBar水平堆叠条形图系列。
ChartView.SeriesTypeHorizontalPercentBar水平百分比条形图系列。

bool isZoomed()

如果任何数列具有缩放域,则返回true 。

point mapToPosition(point value, AbstractSeries series)

返回在数据集series 中,值value 在图表中的位置。

point mapToValue(point position, AbstractSeries series)

返回图表中位于位置position 的序列series 中的值。

void removeAllSeries()

从图表中移除所有数据系列,并永久删除所有数据系列对象。

void removeSeries(AbstractSeries series)

从图表中移除序列series ,并永久删除该序列对象。

void scrollDown(real pixels)

向下滚动pixels 指定的像素数。这是一个便捷方法,例如适用于键盘导航。

void scrollLeft(real pixels)

向左滚动pixels 指定的像素数。这是一个便捷方法,适用于例如键盘导航等场景。

void scrollRight(real pixels)

向右滚动pixels 指定的像素数。这是一个便捷方法,适用于例如按键导航等场景。

void scrollUp(real pixels)

向上滚动pixels 指定的像素数。这是一个便捷方法,例如适用于键盘导航。

AbstractSeries series(int index)

返回图表中索引为index 的系列。结合图表的count 属性,可实现对图表中各系列的遍历。

另请参阅 count 。

AbstractSeries series(string name)

返回图表中名称为name 的第一个系列。如果不存在该名称的系列,则返回null。

void setAxisX(AbstractAxis axis, AbstractSeries series)

将series 的x轴设置为axis 。

另请参阅 axisX()。

void setAxisY(AbstractAxis axis, AbstractSeries series)

将series 的y轴设置为axis 。

另请参阅 axisY()。

void zoom(real factor)

按自定义缩放因子factor 放大图表。

放大倍数大于 1.0 时,视图会放大;放大倍数在 0.0 到 1.0 之间时,视图会缩小。

void zoomIn()

将视图放大两倍。

void zoomIn(rect rectangle)

将视图放大到最大级别,此时矩形rectangle 仍能完全显示。

注意: 极坐标图不支持此功能 。

void zoomOut()

将视图缩小至原来的二分之一。

注意: 如果操作结果会导致对数轴范围无效,则此操作 将不产生任何效果。

void zoomReset()

将系列域重置为调用任何缩放方法之前的状态。

注意:这 还将重置在首次缩放操作与调用此方法之间指定的滚动和显式坐标轴范围设置。如果尚未执行任何缩放操作,则此方法不执行任何操作。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.