QWtplot 不念不忘少年蓝@ 2022-06-09 14:52 166阅读 0赞 # [Qwt使用之QwtPlot][Qwt_QwtPlot] # 标签: [qwt][] 2013-08-19 22:52 21413人阅读 [评论][Link 1](6) 收藏 [举报][Link 2] ![category_icon.jpg][] 分类: Qt(15) ![arrow_triangle_20_down.jpg][] 目录[(?)][Link 3][\[+\]][Link 3] QwtPlot是用来绘制二维图像的widget。在它的画板上可以无限制的显示绘画组件。绘画组件可以是曲线(QwtPlotCurve)、标记(QwtPlotMarker)、网格(QwtPlotGrid)、或者其它从QwtPlotItem继承的组件。 # QwtPlot拥有4个axes(轴线) # <table style="width:725.333px"> <tbody> <tr> <td style="width:356.667px">yLeft </td> <td style="width:356px">Y axis left of the canvas.</td> </tr> <tr> <td style="width:356.667px">yRight </td> <td style="width:356px">Y axis right of the canvas.</td> </tr> <tr> <td style="width:356.667px">xBottom </td> <td style="width:356px">X axis below the canvas.</td> </tr> <tr> <td style="width:356.667px">xTop </td> <td style="width:356px">X axis above the canvas.</td> </tr> </tbody> </table> # 常用函数接口 # <table style="width:725.333px"> <tbody> <tr> <td style="width:356.667px">setAxisTitle</td> <td style="width:356px">设置轴标题</td> </tr> <tr> <td style="width:356.667px">enableAxis</td> <td style="width:356px">主要是显示xTop,yRight坐标轴</td> </tr> <tr> <td style="width:356.667px">setAxisMaxMajor</td> <td style="width:356px">设置某个某个坐标轴扩大比例尺的最大间隔数目</td> </tr> <tr> <td style="width:356.667px">setAxisMaxMinor</td> <td style="width:356px">设置某个某个坐标轴缩小比例尺的最大间隔数目</td> </tr> <tr> <td style="width:356.667px">setAxisScale</td> <td style="width:356px">禁用自动缩放比例尺,为某个坐标轴指定一个修改的比例尺</td> </tr> <tr> <td style="width:356.667px">insertLegend</td> <td style="width:356px">添加图例(标注)</td> </tr> </tbody> </table> # 常用组件 # <table style="width:725.333px"> <tbody> <tr> <td style="width:356.667px">QwtPlotCurve</td> <td style="width:356px">曲线</td> </tr> <tr> <td style="width:356.667px">QwtPlotMarker</td> <td style="width:356px">标记</td> </tr> <tr> <td style="width:356.667px">QwtPlotGrid</td> <td style="width:356px">网格</td> </tr> <tr> <td style="width:356.667px">QwtPlotHistogram</td> <td style="width:356px">直方图</td> </tr> <tr> <td style="width:356.667px">other</td> <td style="width:356px">从QwtPlotItem继承的组件</td> </tr> </tbody> </table> <table style="width:725.333px"> <tbody> <tr> <td style="width:356.667px">QwtPlotItem</td> <td style="width:356px">plot能显示的类,如果想要实现自己绘画图形,要继承此类实现rtti和draw接口</td> </tr> <tr> <td style="width:356.667px">QwtPlotPanner</td> <td style="width:356px">平移器 (用鼠标左键平移)</td> </tr> <tr> <td style="width:356.667px">QwtPlotMagnifier</td> <td style="width:356px"> 放大器 (用鼠标滚轮缩放)</td> </tr> <tr> <td style="width:356.667px">QwtPlotCanvas</td> <td style="width:356px">画布</td> </tr> <tr> <td style="width:356.667px">QwtScaleMap</td> <td style="width:356px">比例图---可以提供一个逻辑区域到实际区域的坐标转换</td> </tr> <tr> <td style="width:356.667px">QwtScaleWidget</td> <td style="width:356px">比例窗口</td> </tr> <tr> <td style="width:356.667px">QwtScaleDiv</td> <td style="width:356px">比例布局</td> </tr> <tr> <td style="width:356.667px">QwtLegent</td> <td style="width:356px">标注</td> </tr> <tr> <td style="width:356.667px">QwtPlotLayout</td> <td style="width:356px">布局管理器</td> </tr> <tr> <td style="width:356.667px">QwtScaleDraw</td> <td style="width:356px">自画坐标轴</td> </tr> </tbody> </table> # QwtPlotCure简介 # 常见接口 <table style="width:725.333px"> <tbody> <tr> <td style="width:356.667px">setPen</td> <td style="width:356px">设置画笔</td> </tr> <tr> <td style="width:356.667px">setData</td> <td style="width:356px">设置曲线的数据</td> </tr> <tr> <td style="width:356.667px">setStyle</td> <td style="width:356px">设置曲线形式,点、直线、虚线等等</td> </tr> <tr> <td style="width:356.667px">setCurveAttribute</td> <td style="width:356px">设置曲线属性,一般设置Fitted</td> </tr> <tr> <td style="width:356.667px">attch</td> <td style="width:356px">把曲线附加到QwlPlot上</td> </tr> </tbody> </table> 下面看一个小例子,结果如下: ![Image 1][] ![1358253870_9131.png][] 源代码: **\[cpp\]** [view plain][] [copy][view plain] 1. \#include <QtGui/QApplication> 2. \#include <Qt/qmath.h> 3. \#include <QVector> 4. \#include <qwt\_plot.h> 5. \#include <qwt\_plot\_curve.h> 6. \#include <qwt\_plot\_magnifier.h> 7. \#include <qwt\_plot\_panner.h> 8. \#include <qwt\_legend.h> 9. 10. **int** main(**int** argc, **char** \*argv\[\]) 11. \{ 12. QApplication a(argc, argv); 13. 14. QwtPlot plot(QwtText("CppQwtExample1")); 15. plot.resize(640,400); 16. //设置坐标轴的名称 17. plot.setAxisTitle(QwtPlot::xBottom, "x->"); 18. plot.setAxisTitle(QwtPlot::yLeft, "y->"); 19. //设置坐标轴的范围 20. plot.setAxisScale(QwtPlot::xBottom, 0.0, 2.0 \* M\_PI); 21. plot.setAxisScale(QwtPlot::yLeft, -1.0, 1.0); 22. //设置右边标注 23. plot.insertLegend(**new** QwtLegend(), QwtPlot::RightLegend); 24. 25. //使用滚轮放大/缩小 26. (**void**) **new** QwtPlotMagnifier( plot.canvas() ); 27. 28. //使用鼠标左键平移 29. (**void**) **new** QwtPlotPanner( plot.canvas() ); 30. 31. //计算曲线数据 32. QVector<**double**> xs; 33. QVector<**double**> ys; 34. **for** (**double** x = 0; x < 2.0 \* M\_PI; x+=(M\_PI / 10.0)) 35. \{ 36. xs.append(x); 37. ys.append(qSin(x)); 38. \} 39. //构造曲线数据 40. QwtPointArrayData \* **const** data = **new** QwtPointArrayData(xs, ys); 41. QwtPlotCurve curve("Sine"); 42. curve.setData(data);//设置数据 43. curve.setStyle(QwtPlotCurve::Lines);//直线形式 44. curve.setCurveAttribute(QwtPlotCurve::Fitted, **true**);//是曲线更光滑 45. curve.setPen(QPen(Qt::blue));//设置画笔 46. 47. curve.attach(&plot);//把曲线附加到plot上 48. 49. plot.show(); 50. 51. **return** a.exec(); 52. \} ![save_snippets.png][] [Qwt_QwtPlot]: http://blog.csdn.net/evense/article/details/10087501 [qwt]: http://www.csdn.net/tag/qwt [Link 1]: http://blog.csdn.net/evense/article/details/10087501#comments [Link 2]: http://blog.csdn.net/evense/article/details/10087501#report [category_icon.jpg]: /images/20220609/b7d5c5df771d4c0bb5e615ce92e4812f.png [arrow_triangle_20_down.jpg]: /images/20220609/e0cc1f98eaf04dd1afa229ce60302aa9.png [Link 3]: http://blog.csdn.net/evense/article/details/10087501# [Image 1]: [1358253870_9131.png]: https://img-my.csdn.net/uploads/201301/15/1358253870_9131.png [view plain]: http://blog.csdn.net/junzhepan/article/details/8507249# [save_snippets.png]: /images/20220609/e02203406ba8490aa0dad5c8cfa508bc.png
相关 QT学习 之 QwtPlot(数学绘图) QT对于统计图像、函数图像等的绘制是没有相关组件的帮助的,只有利用手工绘制图片。 QwtPlot是用来绘制二维图像的widget,继承自QFrame 和 QwtPlotDic 快来打我*/ 2022年08月17日 14:19/ 0 赞/ 551 阅读
相关 QwtPlot之绘制统计图 QwtPlot是用来绘制二维图像的widget。在它的画板上可以无限制的显示绘画组件。绘画组件可以是曲线(QwtPlotCurve)、标记(QwtPlotMarker)、网格( 悠悠/ 2022年06月09日 14:52/ 0 赞/ 696 阅读
相关 QWtplot [Qwt使用之QwtPlot][Qwt_QwtPlot] 标签: [qwt][] 2013-08-19 22:52 21413人阅读 [评论][Link 1](6) 收 不念不忘少年蓝@/ 2022年06月09日 14:52/ 0 赞/ 167 阅读
相关 qwtplot 1.新建一个qt新工程,往主界面中拖动一个QwtPlot控件,保存后关闭。 ps:如果在设计界面没有,试试qt界面用qt designer打开试试 2.下面开始QwtPl ゝ一世哀愁。/ 2022年06月09日 14:52/ 0 赞/ 190 阅读
还没有评论,来说两句吧...