qcustomplot使用方法

一、QCustomPlot的安装

官方下载地址:http://www.qcustomplot.com/index.php/download

推荐下载第一个链接,里面有很多官方给的例子可以参考。

 

下载之后将文件解压到任意一个文件夹中,不要有中文路径。

打开QT,新建一个窗体工程

将解压得到的文件夹里面的头文件qcustomplot.h和源文件qcustomplot.cpp复制粘贴到工程文件夹下。

在Qt中,对着工程名右键,添加已有文件,将头文件qcustomplot.h和源文件qcustomplot.cpp都添加到工程中来。

接着在工程的pro文件的第9行末尾加入代 printsupport,如下图

打开界面文件,进入图形化设计界面,向主窗口中添加一个widget区域,对着所添加的widget区域点击右键,选择“提升为”按钮。

提升类名称输入“QCustomPlot”,点击添加。

在之后的界面中选中QCustomPlot,点击提升按钮,我们创建的widget就被提升为QCustomPlot类了。

现在我们运行一下程序,就会出现一个简单的坐标系了。

恭喜你,QCustomPlot的基本配置就做好了。

二、第一个例子

首先解释一下原理:

我们可以理解为QCustomPlot就是一个绘图板的类,它继承于Widget,界面中的Widget类提升为QCustomPlot才能够绘图。

QCustomPlot中的每一个曲线是一个Graph对象,凡是跟显示数据有关的我们就对Graph进行操作或调用Graph对象提供的方法。

一个QCustomPlot里有四个坐标轴,其中xAxisyAxis就是我们上图看到的x和y坐标轴,还有两个坐标轴xAxis1和yAxis1为上方和右方的x、y坐标,默认隐藏,可以通过程序设计显示。

具体绘图执行步骤:

首先我们将上面提升为QCustomPlot类的容器界面的对象重命名为qCustomPlot。

此时,我们只需要在主类Widget构造函数中加入如下代码,即可绘制一个标准标准的y=x^3的曲线,代码含义代码中有注释。

 1 Widget::Widget(QWidget *parent) :
 2     QWidget(parent),
 3     ui(new Ui::Widget)
 4 {
 5     ui->setupUi(this);
 6 
 7     //定义两个可变数组存放绘图的坐标数据
 8     QVector<double> x(101),y(101);//分别存放x和y坐标的数据,101为数据长度
 9     //添加数据,我们这里演示y=x^3,为了正负对称,我们x从-10到+10
10     for(int i=0;i<101;i++)
11     {
12         x[i] = i/5 - 10;
13         y[i] = x[i] * x[i] * x[i];
14     }
15 
16     //向绘图区域QCustomPlot(从widget提升来的)添加一条曲线
17     ui->qCustomPlot->addGraph();
18     //添加数据
19     ui->qCustomPlot->graph(0)->setData(x,y);
20 
21     //设置坐标轴标签名称
22     ui->qCustomPlot->xAxis->setLabel("x");
23     ui->qCustomPlot->yAxis->setLabel("y");
24 
25     //设置坐标轴显示范围,否则我们只能看到默认的范围
26     ui->qCustomPlot->xAxis->setRange(-11,11);
27     ui->qCustomPlot->yAxis->setRange(-1100,1100);
28     
29     //重绘,这里可以不用,官方例子有,执行setData函数后自动重绘
30     //我认为应该用于动态显示或者是改变坐标轴范围之后的动态显示,我们以后探索
31     //ui->qCustomPlot->replot();
32 
33 }

这样我们就简单的绘制好一个3次方的曲线了

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
QCustomPlot是一个用于绘制二维图表的开源C++库。它提供了丰富的绘图功能,可以绘制静态和动态图表。 静态绘图是指在初始化时,绘制一个固定的图表。使用QCustomPlot绘制静态图表的基本步骤如下: 1. 创建一个QCustomPlot对象,该对象承载了整个图表。 2. 调用QCustomPlot对象的成员函数来设置图表的一些属性,如标题、坐标轴、刻度等。 3. 使用数据来填充图表,可以使用QVector或者std::vector等数据容器来存储数据。 4. 使用QCustomPlot对象的成员函数,如addGraph()或者addPlottable(),将数据添加到图表中。 5. 根据需要,可以调整图表的样式,如线条颜色、点的形状等。 6. 最后,调用QCustomPlot对象的replot()函数完成图表的绘制。 动态绘图是指在运行时,根据数据的变化不断更新图表。使用QCustomPlot绘制动态图表的基本步骤如下: 1. 创建一个QCustomPlot对象,该对象承载了整个图表。 2. 调用QCustomPlot对象的成员函数来设置图表的一些属性,如标题、坐标轴、刻度等。 3. 初始化图表,可以添加一些初始数据点。 4. 启动一个定时器,在定时器的槽函数中更新数据。 5. 在槽函数中更新图表,可以使用QCustomPlot对象的成员函数来更新已有的数据,或者添加新的数据点。 6. 最后,调用QCustomPlot对象的replot()函数刷新图表。 需要注意的是,在动态绘图时,由于频繁的数据更新,性能方面可能需要做一些优化,以提高绘图的效率。 总的来说,QCustomPlot库提供了丰富的功能和灵活的接口,可以满足绘制静态和动态图表的需求。掌握了基本的使用方法后,可以根据具体的需求进行更高级的定制和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值