QCustomplot笔记(一)之QCustomplot添加数据以及曲线

104 篇文章 128 订阅

一.前言
楼主最近在学习QCustomplot相关的内容,于是想着记录下自己所学的,同时也给分享给有需要的人
楼主所涉及不深,也不一定描述的对,不喜勿喷。谢谢

二.过程
1.拖动一个QWidget,提示为QCustomplot
在这里插入图片描述
2.编写代码

    // 数据构造
    QVector<double> x,y;
    for(double xi=-2*M_PI;xi<2*M_PI;xi+=0.1)
    {
        x.push_back(xi);
        y.push_back(sin(xi));
    }

    //添加曲线,必须添加这一句,不然显示不了曲线
    ui->widget->addGraph();

    // 设置x轴以及y轴的名称
    ui->widget->xAxis->setLabel("这是X轴");
    ui->widget->yAxis->setLabel("这是Y轴");

    // 设置数据
    ui->widget->graph(0)->setData(x,y);

    // 设置曲线名称
    ui->widget->graph(0)->setName("y=sin(x)");

    // 设置显示曲线名称
    ui->widget->legend->setVisible(true);

    // 设置曲线名称的字体属性
    ui->widget->legend->setFont(QFont("微软雅黑",13));

    // 设置自适应
     ui->widget->rescaleAxes(true);

在这里插入图片描述
3.添加多组数据,添加多组数据和添加单组数据一样,感觉这样添加很方便,QCustomplot的作者真是一个牛人

// 数据构造
    QVector<double> x,y;
    for(double xi=-2*M_PI;xi<2*M_PI;xi+=0.1)
    {
        x.push_back(xi);
        y.push_back(sin(xi));
    }

    //添加曲线,必须添加这一句,不然显示不了曲线
    ui->widget->addGraph();

    // 设置x轴以及y轴的名称
    ui->widget->xAxis->setLabel("这是X轴");
    ui->widget->yAxis->setLabel("这是Y轴");

    // 设置数据
    ui->widget->graph(0)->setData(x,y);

    // 设置曲线名称
    ui->widget->graph(0)->setName("y=sin(x)");

    // 设置显示曲线名称
    ui->widget->legend->setVisible(true);

    // 设置曲线名称的字体属性
    ui->widget->legend->setFont(QFont("微软雅黑",13));

    // 设置自适应


    QVector<double> x1,y1;
    for(double xx=-2*M_PI;xx<2*M_PI;xx+=0.1)
    {
        x1.push_back(xx);
        y1.push_back(cos(xx));
    }

    //
    QPen pen;
    pen.setWidth(3);
    pen.setColor(Qt::green);

    ui->widget->addGraph();
    // 设置曲线颜色
    ui->widget->graph(1)->setPen(pen);

    ui->widget->graph(1)->setData(x1,y1);
    ui->widget->graph(1)->setName("y=cos(x)");
    ui->widget->rescaleAxes(true);

    //
    QPen pen3;
    pen3.setWidth(3);
    pen3.setColor(Qt::yellow);
    ui->widget->addGraph();
    QVector<double> x2,y2;
    for(int i=0;i<10;i++)
    {
        x2.push_back(i);
        y2.push_back(i);
    }
    ui->widget->graph(2)->setPen(pen3);
    ui->widget->graph(2)->setData(x2,y2);
    ui->widget->graph(2)->setName("y=x");


    // 添加多组数据的时候,这一句必须放在最后,才能实现坐标轴的自适应
    ui->widget->rescaleAxes(true);

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值