qwt画曲线图实例
来源:互联网 发布:大数据涂子沛简介 编辑:程序博客网 时间:2024/05/21 22:51
来源:http://blog.csdn.net/kupe87826/article/details/8235204
参考:http://baike.baidu.com/view/2622589.htm
qwt下的realtime工程
环境:vs2010,qt4.7.4,qt-vs-addin-1.1.11-opensource.,qwt6.0.1,操作系统win7
一、QWT简介
QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目, 可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供, 输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等。该工具库基于Qt开发,所以也继承了Qt的跨平台特性。
二、环境搭建
qt4.7与vs2010的整合以及qwt的编译与安装,网上资料都很多,大家先参考把环境搭好
(1) qt4.7在vs2010下的编译:http://blog.csdn.net/lw5566001/article/details/6877874
需要注意的是不取消demos和examples编译,编译空间需要20G以上,而且非常耗时,建议取消。我编译时也没遇到错误,比较顺利,可能版本的问题吧。
(2)qwt6.0.1的编译
http://blog.csdn.net/chenlong12580/article/details/7769433
三、新建一个qt工程
在vs2010环境下,先建一个qt主窗口工程
需要注意的是,新建后在项目熟悉中,预处理器定义中得加上QWT_DLL
四、创建自己的QwtPlot
(1) 增加一个类比如curvePlotWidget,继承自QwtPlot
(2)代码示例
- curvePlotWidget::curvePlotWidget(QWidget *parent)
- : QwtPlot(parent)
- {
- ui.setupUi(this);
- //设置一些窗口属性
- setFrameStyle(QFrame::NoFrame);
- setLineWidth(0);
- setCanvasLineWidth(2);
- plotLayout()->setAlignCanvasToScales(true);
- //增加网格
- QwtPlotGrid *grid = new QwtPlotGrid;
- grid->setMajPen(QPen(Qt::gray, 0, Qt::DotLine));
- grid->attach(this);
- //设置画布背景
- setCanvasBackground(QColor(29, 100, 141)); // nice blue
- //设置X与Y坐标范围
- setAxisScale(xBottom, 1, 75);
- setAxisScale(yLeft, -1, 1);
- //
- //新建一个曲线对象
- QwtPlotCurve *pCurve=new QwtPlotCurve("curve1");
- //输入数据
- QVector< double > xData;
- QVector<double> yData;
- for(int i=0;i<75;++i)
- xData.push_back(i+1);
- yData<<1<<0.048634<<0.655211<<0.320122<<0.130912<<0.182503<<0.163217<<0.167857<<0.169706<<0.15244<<0.17136<<0.184516<<0.183185<<0.16788<<0.150819<<0.154223<<0.149134<<0.126398<<0.090325<<-0.017047<<0.184973<<0.113727<<0.072852<<0.054324<<0.04943<<0.036473<<0.042876<<0.048972<<0.04963<<0.052114<<0.056796<<0.060517<<0.07844<<0.066472<<0.079221<<0.06061<<-0.018855<<0.457584<<0.104125<<0.282665<<0.066127<<0.064099<<0.065944<<0.013025<<0.054401<<0.027663<<0.038911<<0.03153<<0.040123<<0.038832<<0.03919<<0.048258<<0.050396<<0.063897<<0.062202<<0.067778<<0.074743<<0.063545<<0.066624<<0.09162<<-0.022548<<0.037526<<0.04687<<0.04425<<0.046449<<0.038345<<0.051492<<0.033624<<0.030668<<0.075395<<-0.016367<<-0.039846<<0.021928<<0<<0;
- pCurve->setSamples(xData,yData);
- pCurve->attach(this);
- //设置曲线颜色
- QPen pen;
- pen.setColor(QColor(255,0,0));
- pCurve->setPen(pen);
- //QwtPlotCurve::PaintAttribute
- //抗锯齿
- pCurve->setRenderHint(QwtPlotItem::RenderAntialiased,true);
- //增加缩放功能
- QwtPlotZoomer *pZoomer= new QwtPlotZoomer(canvas());
- pZoomer->setRubberBandPen(QPen(Qt::red));
- //重绘
- replot();
- }
写下这些代码,就可以实现曲线绘制以及显示还有缩放功能,qwt还是挺强大的,所得界面如下图:
- qwt画曲线图实例
- android 曲线图实例
- 画曲线图
- QT下利用QWT来实现二维曲线图动态显示
- Windows下QWT绘图实例
- QWT
- QWT
- qwt
- C# 画曲线图
- VML画曲线图
- android 画曲线图
- R语言画曲线图
- MATLAB画三维曲线图
- 画函数曲线图--网址
- 曲线图
- 曲线图
- struts开发实践—曲线图实例
- struts开发实践—曲线图实例
- eclipse下SVN subclipse插件
- IOS:UITextField键盘出现,让视图上升
- 等值链接和非等值链接
- 产品即人品,你的人品如何?
- 增大oracle重做日志的大小
- qwt画曲线图实例
- ArcGIS Engine 10.1开发环境配置及运行
- java正则表达式
- 中国个性化阅读产业研究报告 2013
- manuscript of the fourth generation of great designs the following is a table with the number varie
- matlab一些常用的函数memo
- 【MapReduce】
- python数据类型list方法整理
- XSS攻击代码