折线图QLineSeries类

简介

QLineSeries类用折线图表示数据。

折线图用于将信息显示为由直线连接的一系列数据点。

示例

通过QLineSeries画正弦。

效果如下:
最终效果

代码如下:

我们通过继承自QChartView类而无需QChartView成员就可以直接显示QChart对象了。

#ifndef WIDGET_H
#define WIDGET_H

#include <QtCharts>

using namespace QtCharts;

class Widget : public QChartView
{
    Q_OBJECT

public:
    Widget(QChartView *parent = 0);
    ~Widget();
};

#endif // WIDGET_H
#include "widget.h"

Widget::Widget(QChartView *parent)
    : QChartView(parent)
{
    //这里需要一个组织管理QChartView的QChart对象
    QChart* chart = new QChart();

    //放在QChartView上的图表系列,这里选择QLineSerise
    QLineSeries* lineSerise = new QLineSeries();
    //初始化QLineSerise对象
    for (quint32 i = 0; i < 100; i++)
    {
        //即初始化线上面的各个点的坐标
        lineSerise->append(i, sin(i * 0.6));
    }
    //然后用QChart对象管理折线图对象QLineSerise
    chart->addSeries(lineSerise);
    //添加默认的坐标轴
    chart->createDefaultAxes();

    //最后用QChartView对象显示
    setChart(chart);
    //抗锯齿
    setRenderHint(QPainter::Antialiasing);
}

注意抗锯齿之前的情况:

未抗锯齿

总结

因为QLineSeries类是通过直线来连接插入坐标点的,所以对于正弦来说,峰值的处理可能不是太过理想。

当然也可以使用QPainter在绘图事件中自己绘制想要的图形。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QChart是Qt中用于绘制图表的,它支持多种型的图表,包括折线图、柱状图、散点图等。以下是一个使用QChart绘制折线图的示例代码: ```cpp #include <QtCharts/QChartView> #include <QtCharts/QLineSeries> #include <QtCharts/QValueAxis> using namespace QtCharts; // 创建折线图数据 QLineSeries *createLineSeries() { QLineSeries *series = new QLineSeries(); series->append(0, 6); series->append(2, 4); series->append(3, 8); series->append(7, 4); series->append(10, 5); return series; } int main(int argc, char *argv[]) { QApplication a(argc, argv); // 创建折线图 QChart *chart = new QChart(); chart->setTitle("折线图"); // 创建坐标轴 QValueAxis *axisX = new QValueAxis(); axisX->setRange(0, 10); axisX->setLabelFormat("%d"); axisX->setTitleText("X轴"); QValueAxis *axisY = new QValueAxis(); axisY->setRange(0, 10); axisY->setLabelFormat("%d"); axisY->setTitleText("Y轴"); // 添加折线图数据 QLineSeries *series = createLineSeries(); chart->addSeries(series); // 设置坐标轴 chart->setAxisX(axisX, series); chart->setAxisY(axisY, series); // 创建图表视图,将图表添加到视图中 QChartView *chartView = new QChartView(chart); chartView->setRenderHint(QPainter::Antialiasing); // 抗锯齿 chartView->resize(400, 300); chartView->show(); return a.exec(); } ``` 在这个示例代码中,我们首先创建了一个折线图数据,然后创建了一个QChart对象,并设置了标题。接着,我们创建了一个X轴和Y轴,并设置了坐标轴范围、标签格式和标题。然后,我们将折线图数据添加到图表中,并设置了坐标轴。最后,我们创建了一个QChartView对象,并将图表添加到视图中显示。 您可以根据需要修改代码,例如更改折线图数据、调整坐标轴等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值