其他分享
首页 > 其他分享> > QCustomPlot使用

QCustomPlot使用

作者:互联网

1、下载源文件http://www.qcustomplot.com/

2、把.cpp和.h放在工程目录下,并将cpp和h加入工程;

3、在.pro中:QT += printsupport;

4、在ui中添加一个Widget,右键提升为,输入:QCustomPlot,改变对象名称为customPlot;


void Widget::initUI()
{
    QVector<double> x(101), y(101);

    for (int i=0; i<101; ++i)

    {

    x[i] = i/50.0 - 1; // x goes from -1 to 1

    y[i] = x[i]*x[i]; // let's plot a quadratic function

    }

    ui->widget->addGraph();// 添加数据曲线(一个图像可以有多个数据曲线),graph(0);可以获取某个数据曲线(按添加先后排序);默认x1,y1轴

    ui->widget->addGraph(ui->widget->xAxis,ui->widget->yAxis2);//添加的曲线以x1,y2为基准轴

    ui->widget->graph(0)->setData(x, y);// setData();为数据曲线关联数据

    ui->widget->xAxis->setLabel("x");// 为坐标轴添加标签

    ui->widget->yAxis->setLabel("y");

    ui->widget->xAxis->setRange(-1, 1);// 设置坐标轴的范围,以看到所有数据

    ui->widget->yAxis->setRange(-1, 1);

    ui->widget->replot();// 重画图像

    ui->widget->rescaleAxes();//自动设置最合适的显示范围

    ui->widget->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);//可移动可拖放

//    //ui->widget->graph(0)->addData(double,double);//追加点
//    int showTime=60;//60秒
//    QDateTime dateTime = QDateTime::currentDateTime();
//    double  now = dateTime.toTime_t();
//    QSharedPointer<QCPAxisTickerDateTime> xTicker(new QCPAxisTickerDateTime);
//    xTicker->setTickCount(2);
//    xTicker->setDateTimeFormat("yyyy.MM.dd-hh:mm");//
//    ui->widget->xAxis->setTicker(xTicker);
//    xTicker->setTickStepStrategy(QCPAxisTicker::tssMeetTickCount);
//    ui->widget->xAxis->setRange(now-showTime,now+showTime);//显示多久的数据,前后60秒
//    ui->widget->xAxis->setTickLabelRotation(60); //设置刻度label旋转
//    ui->widget->xAxis->setRangeReversed(false);//x轴反向

//    QDateTime dateTime1 = QDateTime::currentDateTime();
//   double as = dateTime1.toTime_t();
//    QSharedPointer<QCPAxisTickerDateTime> yTicker(new QCPAxisTickerDateTime);
//    yTicker->setTickCount(2);
//    yTicker->setDateTimeFormat("yyyy.MM.dd-hh:mm");//
//    ui->widget->xAxis->setTicker(yTicker);
//    yTicker->setTickStepStrategy(QCPAxisTicker::tssMeetTickCount);
//    ui->widget->xAxis->setRange(as-3600,as+3600);//显示3个小时的数据
}
链接:Qt使用QCustomPlot开发 - 朱小勇 - 博客园 (cnblogs.com)

标签:yTicker,widget,QCustomPlot,60,ui,xTicker,xAxis,使用
来源: https://www.cnblogs.com/lllion/p/15073048.html