QXYSeries、QLineSeries、QSplineSeries、QScatterSeries

QXYSeries

一、描述

QXYSeries 继承自 QAbstractSeries,是曲线图、样条图和散点图的基类。QXYSeries 支持在图表上显示最佳拟合线。

二、类型成员

1、enum class QXYSeries::PointConfiguration:此枚举描述了一个点的特定配置。

  • Color:此枚举值可以用来改变一个点的颜色。如果与 setPointConfiguration() 一起使用,配置的值应该是有效的 QColor。
  • Size:此枚举值可以用来改变一个点的大小。如果与 setPointConfiguration() 一起使用,配置的值应该是一个数字,例如 qreal 或 int。
  • Visibility:此枚举值可用于隐藏或显示点。如果与 setPointConfiguration() 一起使用,配置的值应该是布尔值。
  • LabelVisibility:此枚举值可用于隐藏或显示点的标签。如果与 setPointConfiguration() 一起使用,配置的值应该是布尔值。

三、属性成员

1、bestFitLineColor : QColor | void bestFitLineColorChanged(const QColor &color)

最佳拟合线的颜色。

2、bestFitLineVisible : bool | void bestFitLineVisibilityChanged(bool visible)

最佳拟合线的可见性。默认为 false。

3、color : QColor | void colorChanged(QColor color)

曲线的颜色。这是 QLineSeriesQSplineSeries 的线条(画笔)颜色和 QScatterSeriesQAreaSeries 的填充(画刷)颜色。

4、pointLabelsClipping : bool | void pointLabelsClippingChanged(bool clipping)

是否启用数据点标签的剪辑。默认为 true。启用剪切时,绘图区域边缘的标签会被剪切。

5、pointLabelsColor : QColor | void pointLabelsColorChanged(const QColor &color)

用于数据点标签的颜色。

6、pointLabelsFont : QFont | void pointLabelsFontChanged(const QFont &font)

用于数据点标签的字体。

7、pointLabelsFormat : QString | void pointLabelsFormatChanged(const QString &format)

用于显示带有数据点的标签的格式。

QXYSeries 支持以下格式标签:

  • @xPoint:数据点的 x 坐标。
  • @yPoint:数据点的 y 坐标。

例如,格式标记的以下用法将生成显示数据点的标签,这些数据点显示在用逗号 (x, y) 分隔的括号内:

series->setPointLabelsFormat("(@xPoint, @yPoint)");

默认情况下,标签的格式设置为@xPoint、@yPoint。标签显示在绘图区域上,绘图区域边缘的标签被剪切。如果这些点彼此靠近,则标签可能会重叠。

8、pointLabelsVisible : bool | void pointLabelsVisibilityChanged(bool visible)

数据点标签的可见性。属性为 false。

9、pointsVisible : bool | 

数据点是否可见并且应该被绘制。

10、selectedColor : QColor

选定点的颜色。这是标记为选中的点的填充(画刷)颜色。默认使用 color 的值。

四、成员函数

1、【信号】void clicked(const QPointF &point)

当通过单击图表中的点触发鼠标事件时,会发出此信号。

2、【信号】void doubleClicked(const QPointF &point)

当双击图表中的数据点时发出此信号。point 是触发第一次按下的点。

3、【信号】void hovered(const QPointF &point, bool state)

当鼠标悬停在图表中的点上时会发出此信号。当鼠标移到该点上时,state 变为 true,当鼠标再次移开时,state 变为 false。 

4、【信号】void pressed(const QPointF &point)

当按下图表中的数据点并按住鼠标按键时,会发出此信号。

5、【信号】void released(const QPointF &point)

当在 point 指定的数据点上释放鼠标按下时,会发出此信号。

6、void setLightMarker(const QImage &lightMarker)

      const QImage & lightMarker()

    【信号】void lightMarkerChanged(const QImage &lightMarker)

设置用于在曲线的每个点上绘制标记的图像。

设置为 QImage() (QImage::isNull() == true)即不会绘制光标记。

使用此方法设置光标记,则不显示使用 setPointsVisible(true) 设置的可见点。

QScatterSeries 的元素不同,光标记不由 QGraphicsItem 表示,而只是被绘制(不创建对象)。但是,QXYSeries 的鼠标事件信号的行为方式相同,这意味着单击/按下/悬停光标记,将获得该点的确切域值。如果单击该行,仍然会获得介于域之间的值。就绘画和事件而言,光标记位于线条之上。

7、qreal markerSize()

      void setMarkerSize(qreal size)

    【信号】void markerSizeChanged(qreal size)

用于渲染曲线中的点的标记的大小。

默认大小取决于特定的 QXYSeries 类型。QScatterSeries 的默认值为 15.0,QLineSeries 的默认值为曲线的画笔大小 * 1.5

8、void setPen(const QPen &pen)

      QPen pen()

    【信号】void penChanged(const QPen &pen)

设置图表上绘制点的画笔。默认使用图表主题(QChart::setTheme())中的画笔。

      void setBrush(const QBrush &brush)

      QBrush brush()

设置图表上绘制点的画刷。默认使用图表主题(QChart::setTheme())中的画刷。

9、【信号】void pointAdded(int index)

当在 index 指定的位置添加一个点时会发出此信号。

10、void remove(qreal x, qreal y)

      【信号】void pointRemoved(int index)

从曲线中删除具有坐标 x 和 y 的点。

     void removePoints(int index, int count)

   【信号】void pointsRemoved(int index, int count)

从 index 指定的位置开始的曲线中删除 count 指定的点数。

     void clear()

从曲线中删除所有点。

11、void replace(qreal oldX, qreal oldY, qreal newX, qreal newY)

       void replace(const QPointF &oldPoint, const QPointF &newPoint)

将坐标为 oldX 和 oldY 的点替换为坐标为 newX 和 newY 的点。如果旧点不存在,则不执行任何操作。

       void replace(int index, qreal newX, qreal newY)

       void replace(int index, const QPointF &newPoint)

将 index 指定位置处的点替换为坐标为 newX 和 newY 的点。

       void replace(const QList<QPointF> &points)

用点指定的点替换当前点。

注意:这比一个一个替换数据点,或者先清除所有数据,然后追加新数据要快得多。

      【信号】void pointReplaced(int index)

当一个点在 index 指定的位置被替换时,会发出此信号。

      【信号】void pointsReplaced()

当所有点都被其他点替换时,会发出此信号。

(只在 void replace(const QList<QPointF> &points) 中调用)

12、void append(qreal x, qreal y)

        void append(const QPointF &point)

        void append(const QList<QPointF> &points)

将数据点添加到曲线中。

13、const QPointF & at(int index)

返回曲线内部点中由 index 指定的位置处的数据点。

14、QPair<qreal, qreal> bestFitLineEquation(bool &ok)

返回一对数字,其中第一个数字是斜率因子,第二个数字是最佳拟合线的线性函数的截距。

这些因子是使用最小二乘法基于传递给曲线的点计算的。

参数 ok 用于报告结果。

15、void clearPointConfiguration(const int index)

删除位于索引处的点的配置并恢复从曲线设置派生的默认外观。

      void clearPointConfiguration(const int index, const QXYSeries::PointConfiguration key)

从索引点删除由 key 标识的配置属性,并恢复从曲线设置派生的默认外观。

删除配置类型,允许将该配置属性呈现为曲线属性中指定的默认值。

      void clearPointsConfiguration()

删除曲线中所有点的配置并恢复从曲线设置派生的默认外观。

      void clearPointsConfiguration(const QXYSeries::PointConfiguration key)

从所有点中删除由 key 标识的配置属性,并恢复从曲线设置派生的默认外观。

      void setPointConfiguration(const int index, const QHash<QXYSeries::PointConfiguration, QVariant> &configuration)

使用所需配置自定义位于索引处的点的外观。可以更改每个点外观的各个属性。

QLineSeries *series = new QLineSeries();
series->setName("Customized serie");
series->setPointsVisible(true);

*series << QPointF(0, 6) << QPointF(2, 4) << QPointF(3, 6) << QPointF(7, 4) << QPointF(10, 5)
        << QPointF(11, 1) << QPointF(13, 3) << QPointF(17, 6) << QPointF(18, 3)
        << QPointF(20, 2);

QChart *chart = new QChart();
chart->addSeries(series);
chart->createDefaultAxes();

QHash<QXYSeries::PointConfiguration, QVariant> conf;
conf[QXYSeries::PointConfiguration::Color] = QColor(Qt::red);
conf[QXYSeries::PointConfiguration::Size] = 8;
conf[QXYSeries::PointConfiguration::LabelVisibility] = true;

series->setPointConfiguration(4, conf);

conf.remove(QXYSeries::PointConfiguration::LabelVisibility);
series->setPointConfiguration(6, conf);

一个默认的 QLineSeries,它有 10 个点,并且更改了两个点的配置。两个变化点都是红色的,并且明显比其他点大,外观来自曲线。 默认情况下,点没有标签,但索引 4 处的点有标签。

      void setPointConfiguration(const int index, const QXYSeries::PointConfiguration key, const QVariant &value)

自定义点配置。

      void setPointsConfiguration(const QHash<int, QHash<QXYSeries::PointConfiguration, QVariant> > &pointsConfiguration)

允许自定义由 pointsConfiguration 指定的多个点的配置。 

      QHash<int, QHash<QXYSeries::PointConfiguration, QVariant> > pointsConfiguration()

返回一个map,其中点的索引作为键,点的配置作为值。

      QHash<QXYSeries::PointConfiguration, QVariant> pointConfiguration(const int index)

返回表示索引点配置的map。

16、void colorBy(const QList<qreal> &sourceData, const QLinearGradient &gradient = QLinearGradient())

根据传递的值列表设置点的颜色。sourceData 中的值被排序并映射到渐变。

如果该曲线附加了 QColorAxis,则将使用来自该轴的渐变。

      void sizeBy(const QList<qreal> &sourceData, const qreal minSize, const qreal maxSize)

根据传递的值列表设置点的大小。sourceData 中的值被排序并映射到 minSize 和 maxSize 之间的点大小。

如果 sourceData 长度小于曲线中的点数,则曲线末尾的点的大小将保持不变。

17、int count()

返回曲线中的数据点数。

18、void deselectAllPoints()

取消选择曲线中的所有点。

      void deselectPoint(int index)

取消选择给定索引处的点。

      void deselectPoints(const QList<int> &indexes)

将列表中传递的多个点标记为取消选择。

      bool isPointSelected(int index)

索引处的点是否选定。

      void selectAllPoints()

将曲线中的所有点标记为选中。

      void selectPoint(int index)

将索引处的点标记为选中。

      void selectPoints(const QList<int> &indexes)

将列表中点标记为选中。

      QList<int> selectedPoints()

返回标记为选中的点索引列表。无论点的可见性如何,选定的点都是可见的。

      void setPointSelected(int index, bool selected)

将给定索引处的点标记为选中或取消选中,由 selected 指定。

如果指定了选定的颜色,则使用选定的颜色绘制选定的点。

      void toggleSelection(const QList<int> &indexes)

将给定索引处的点的选择状态更改为相反的状态。

19、void insert(int index, const QPointF &point)

在 index 指定的位置插入曲线中的数据点。

20、QList<QPointF> points()

返回曲线中的点。

21、const QImage & selectedLightMarker()

        void setSelectedLightMarker(const QImage &selectedLightMarker)

用于在选定曲线的点上绘制标记的图像。

默认值为 QImage(),这意味着通常的 lightMarker() 将被绘制。

22、QXYSeries & operator<<(const QPointF &point)

        QXYSeries & operator<<(const QList<QPointF> &points)

用于将数据点添加到曲线的流运算符。


QLineSeries

一、描述

折线图,继承自 QXYSeries,将信息显示为由直线连接的一系列数据点。


QSplineSeries

一、描述

曲线图。继承自 QLineSeries 。储存了绘所需的数据点和线段控制点。数据变化时会自动计算控制点。


QScatterSeries

散点图,继承自 QXYSeries。散点数据在图表上显示为点的集合。 对于每个点,指定两个值来确定其在水平轴和垂直轴上的位置。

二、类型成员

1、enum QScatterSeries::MarkerShape:此枚举值描述了渲染标记项时使用的形状。

  • MarkerShapeCircle:圆。这是默认值。
  • MarkerShapeRectangle:矩形。
  • MarkerShapeRotatedRectangle:旋转的矩形。
  • MarkerShapeTriangle:三角形。
  • MarkerShapeStar:星形。
  • MarkerShapePentagon:五边形。

三、属性成员

1、borderColor : QColor | void borderColorChanged(QColor color)

绘制标记边框的颜色。

2、brush : QBrush

绘制标记的画刷。画刷可以是可以使用 QPainterPath 创建的图像。

3、color : QColor | void colorChanged(QColor color)

填充标记的颜色。

4、markerShape : MarkerShape | void markerShapeChanged(QScatterSeries::MarkerShape shape)

渲染曲线中的点的标记的形状。

5、markerSize : qreal | void markerSizeChanged(qreal size)

用于渲染曲线中的点的标记的大小。

  • 6
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值