一、软件下载

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

这里推荐下载第一个链接的内容:

注:这里的第三方库要放在非中文目录下。

二、配置

(1)、新建工程,并且添加头文件qcustomplot.h和源文件qcustomplot.cpp。

(2)、在工程pro文件末尾添加printsupport:

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport

(3)、进入图形设计界面,添加widget控件,对着所添加的widget区域点击右键,选择“提升为”按钮,提升类名称输入“QCustomPlot”,点击添加。

(4)、运行程序,如下所示:

至此,QCustomPlot已经配置完毕。

注:默认情况下是x:0~4.8,y:0~4.8。

三、绘图

原理:

QCustomPlot是一个绘图板的类,它继承于Widget,界面中的Widget类提升为QCustomPlot才能够绘图。

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

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

步骤:

(1)、首先将上面提升为QCustomPlot类的容器界面的对象widget重命名为qCustomPlot。

(2)、在主类Widget构造函数中添加如下代码,即可绘制一个标准标准的y=x^3的曲线。

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

图形如下所示:

说明:如果设置完x、y取值范围之后,显示结果仍然为默认范围(即x:0~4.8,y:0~4.8),那么原因在于没有把设置代码放在构造函数中(也就是说构造函数调用的仍然是默认的配置),只需要将初始化代码放在构造函数中即可。

最新文章

  1. backup2:数据库还原
  2. jenkins配置
  3. pageEncoding与contentType属性
  4. NABCD竞争性需求分析
  5. kernel 模块与简单 hello 模块
  6. ubuntu eclipse下配置C++ 环境
  7. Android之标签选项卡
  8. Qt绘制异形窗体
  9. OSI七层模型具体解释
  10. bzoj2657: [Zjoi2012]旅游(journey)
  11. windows路由命令route
  12. php静态属性和静态方法
  13. C#调用短信接口(通过简单的工厂模式整合多个短信平台)
  14. CSS了一个浮动导航条
  15. Nginx 因 Selinux 服务导致无法远程訪问
  16. 【C和指针】笔记1
  17. 厉害了!阿里安全图灵实验室在ICDAR2017 MLT竞赛刷新世界最好成绩
  18. c# 调用微吼直播API
  19. spring-kafka手动提交offset
  20. SQL Server 将查询结果导出插入(insert)语句的简单方式

热门文章

  1. Vue --》this.$set()的神奇用法
  2. Maven从入门到精通(一)
  3. python 爬取百度url
  4. 【Linux 驱动】简单字符设备驱动架构(LED驱动)
  5. PostgreSQL通过解析日志,获取数据库增量变化,pg_recvlogical
  6. jira:恢复数据:AO_187CCC_SIDEBAR_LINK
  7. Vue 进阶系列(一)之响应式原理及实现
  8. redis 字符串 数据类型
  9. Jmeter 设置默认语言为中文
  10. 剑指offer-丑数-穷举-python