QT--QcustomPlot初次使用

QT–QcustomPlot初次使用

关于QcustomPlot的介绍

QcustomPlot是QT提供的小型第三方图表库,支持静态/动态曲线、柱状图、蜡烛图、频谱图等。使用方便,仅需在项目中加入头文件qcustomplot.h和qcustomplot.cpp源文件即可,
QT--QcustomPlot初次使用_第1张图片
或者把它当做一个库来添加到项目当中,需要在pro文件加入 DEFINES += QCUSTOMPLOT_COMPILE_LIBRARY
注意在.pro文件中添加配置参数

下载地址:https://www.qcustomplot.com/index.php/download
QT--QcustomPlot初次使用_第2张图片
在examples中包含案例:QT--QcustomPlot初次使用_第3张图片

QcustomPlot的几个重要类

QCustomPlot 图表类:用于图表的显示和交互
QCPLayer 图层:管理图层元素(QCPLayerable),所有可显示的对象都是继承自图层元素
QCPAbstractPlottable 绘图元素:包含 曲线图(QCPGraph)、曲线图(QCPCurve)、柱状图(QCPBars)、QCPStatiBox(盒子图)、QCPColorMap(色谱图)、QCPFinancial(金融图)
QCPAxisRect 坐标轴矩形:一个坐标轴矩形默认包含上下左右四个坐标轴,但是可以添加多个坐标轴。

QCustomPlot类管理着所有的图层,它默认自带了六个图层,分别是:

背景层background
网格层grid
绘图层main
坐标轴层axes
图例层legend
overlayoverlay
依据层的顺序的不同,绘制的顺序也不同,越在底下的层越早绘制

作者:lowbees
链接:https://www.jianshu.com/p/cfc2637ef3c4
来源:简书
一个QCPAxisRect一般来说会有上轴xAxis2、下轴xAxis、左轴yAxis和右轴yAxis2四个轴

简单应用

官方案例

QT--QcustomPlot初次使用_第4张图片

void MainWindow::setupDemo(int demoIndex)
{
    switch(demoIndex)
    {
    case 0: setupQuadraticDemo(ui->customPlot); break;


    }
    setWindowTitle("QCustomPlot: "+demoName);
    statusBar()->clearMessage();
    currentDemoIndex = demoIndex;
    ui->customPlot->replot();
}
void MainWindow::setupQuadraticDemo(QCustomPlot *customPlot)
{
    demoName = "Quadratic Demo";
    // generate some data:
    QVector x(101), y(101); // initialize with entries 0..100
    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
    }
    // create graph and assign data to it:
    customPlot->addGraph();//添加一个曲线图Graph
    customPlot->graph(0)->setData(x,y);//为曲线添加数据
    // give the axes some labels:
    customPlot->xAxis->setLabel("x");//设置坐标轴标签
    customPlot->yAxis->setLabel("y");
    // set axes ranges, so we see all data:
    customPlot->xAxis->setRange(-1, 1);//设定显示范围
    customPlot->yAxis->setRange(0, 1);
}

参考文献:https://www.jianshu.com/p/cfc2637ef3c4

你可能感兴趣的:(QT画图表,c++,qt)