码迷,mamicode.com
首页 > 其他好文 > 详细

QSplineSeries QChartView绘制曲线

时间:2018-12-20 17:03:21      阅读:768      评论:0      收藏:0      [点我收藏+]

标签:ble   ide   append   hint   qstring   tran   ant   setw   atm   

参考资料:

https://www.qtdebug.com/qtbook-paint-smooth-curve-qchart/

https://blog.csdn.net/liang19890820/article/details/54618026

https://blog.csdn.net/lmhuanying1012/article/details/78455037

https://blog.csdn.net/a844651990/article/details/82706466

https://blog.csdn.net/u010304326/article/details/79185968

 

技术分享图片

 

    // 创建平滑曲线上点的序列
    //QLineSeries *splineSeries = new QLineSeries();
    QSplineSeries *splineSeries = new QSplineSeries();
    splineSeries->setName("spline");

    splineSeries->append(0, 6);
    splineSeries->append(2, 4);
    splineSeries->append(3, 8);
    splineSeries->append(7, 4);
    splineSeries->append(10, 5);
    *splineSeries << QPointF(11, 1) << QPointF(13, 3) << QPointF(17, 6) << QPointF(18, 3) << QPointF(20, 2);

    // 标记点
    QScatterSeries *scatterSeries = new QScatterSeries();
    scatterSeries->setPointLabelsFormat("@yPoint");
    scatterSeries->setPointLabelsVisible();
    scatterSeries->setMarkerSize(8);
    scatterSeries->append(0, 6);
    scatterSeries->append(2, 4);
    scatterSeries->append(3, 8);
    scatterSeries->append(7, 4);
    scatterSeries->append(10, 5);
    *scatterSeries << QPointF(11, 1) << QPointF(13, 3) << QPointF(17, 6) << QPointF(18, 3) << QPointF(20, 2);

//    //区域填充
//    QAreaSeries *series = new QAreaSeries(splineSeries);
//    series->setName("Batman");
//    QPen pen(0x059605);
//    pen.setWidth(3);
//    series->setPen(pen);

    // 使用点的序列创建图标
    QChart *chart = new QChart();
    chart->legend()->hide();
    chart->addSeries(splineSeries);
    chart->addSeries(scatterSeries);
    //chart->addSeries(series);
    chart->setTitle("平滑曲线");
    chart->createDefaultAxes();
    chart->axisY()->setRange(0, 10);

//    //X轴下标
//    QStringList categories;
//    categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" ;
//    QBarCategoryAxis *axisX = new QBarCategoryAxis();
//    axisX->append(categories);
//    chart->setAxisX(axisX, scatterSeries);



    QChartView *chartView = new QChartView(chart);
    chartView->setRenderHint(QPainter::Antialiasing);


    MainWindow w;
    w.setCentralWidget(chartView);
    w.show();

QSplineSeries QChartView绘制曲线

标签:ble   ide   append   hint   qstring   tran   ant   setw   atm   

原文地址:https://www.cnblogs.com/zhangxuan/p/10149970.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!