美文网首页Qt
Qt中的Qt Charts

Qt中的Qt Charts

作者: Alliawell | 来源:发表于2019-11-12 09:10 被阅读0次

    Qt Charts Overview

    Qt Charts用来创建各种数据图表/曲线,如下图所示。

    Qt Charts的核心是 QChartView(显示图表)和QChart(管理数据)。

    QChartView用来显示数据;QChart用来组织数据。

    Qt Charts的各种类型

    QChart类用于管理各种数据序列(series),以及图表相关的对象,如图例(legend)和坐标轴(axis)

    QChart类

    QChart类用来管理图表的数据序列(series)、图例(legends)和坐标轴(axes)。

    QChart继承自QGraphicsWidget类,可以在QGraphicsScene中显示。QChart管理图表的不同类型的图形表示,包括序列,标题和坐标轴。显示QChat最简单的方式是使用QChatView。

    此外,还可以用QPolarChart(它继承自QChart)来表示折线图(line),曲线图(spline),饼状图(area)和散点图(Scatter)。

    QChart类用来管理数据序列(series)、图例(legend)和坐标轴(axis)信息。

    QtChart负责上述3种图表内容的组织和管理。图表的显示靠视图,即QChartView.

    想要显示上述信息,用QChartView类最简单(在UI上把Graphic View提升到QChartView)。

    QChartView:视图

    QChartView是一个能够显示图表的widget。

    其中最重要的一个函数是:

    void QChartView::setChart(QChart *chart)

    该函数把QChartView的当前图表设为chart,新chart的所有权归QChartView所有。前一个chart(如果有)和QChartView的关系解除,必须delete前一个chart以防止内存泄露。

    QXYSeries:序列

    void QXYSeries::replace(QList<QPointF> points)

    void QXYSeries::replace(QVector<QPointF> points)

    以上两个函数的速度最快,要比逐点 replace 或 clear + append 新数据要快得多。replace或append是实现动态绘图的基础。

    而 QVecto r的速度通常比 QList 更快,前者是内存连续的。

    void setName(const QString &name):设置序列的名字,该名字显示在序列的 legend 上,支持HTML格式。

    QValueAxis:坐标轴

    坐标轴的基类是QAbstractAxis,轴上的数据时real/double型的。

    Legend:图例

    Legend用来给图标添加图例。Legend不能被创建或删除,但可以隐藏。它可以放在图标的上、下、左、右,默认在上面。

    Legend上显示的名字是对应Series的名字,用 QAbstractSeries::setName(QString& name)设置。

    Legend:图例

    参考

    Qt官方文档:QChart类;

    Qt官方文档:Qt Charts Overview;

    QTCharts入门 使用QChartView做折线图

    相关文章

      网友评论

        本文标题:Qt中的Qt Charts

        本文链接:https://www.haomeiwen.com/subject/tiyzvctx.html