很重要--转载声明
- 本站文章无特别说明,皆为原创,版权所有,转载时请用链接的方式,给出原文出处。同时写上原作者:朝十晚八 or Twowords
- 如要转载,请原文转载,如在转载时修改本文,请事先告知,谢绝在转载时通过修改本文达到有利于转载者的目的。
关键词:
说起图,大家一下就可能想到折线图、柱状图和饼图等,但是除了这些显眼的东西以外其实还有很多东西辅助的存在着,有了这些辅助的东西图才会看起来有意义,或者说更加的真实、有说服力。这些东西都包括那些呢?首先坐标轴肯定是不能少了的,还有网格线、图例和示意说明等。这一节我们就重点来围绕这个示意说明也就是QCPAbstractItem来做以解释
这里我将首先贴张效果图,主要是为了展示QCPAbstractItem的用途,有需要的同学可以深入的了解下。图上出了一条折线之外,还有坐标轴、网格线和图例,那么下一小节我将会重点的来说这个示意说明都有哪些。
图1 QCPAbstractItem示例
1、说这些示意类前,我先给大家介绍一个类QCPItemPosition,这个是描述位置的一个类,示意项都是包含了这个类才具有位置信息,那么这个类有什么妙用呢,呵呵呵。。。那就要问他的成员PositionType枚举了,这个枚举有4个值,接下类我分别介绍下:
看到上述4个枚举,小伙伴应该猜到他是什么意思了吧,没错他就是表明这个位置信息被解析的一种方式。
2、接下来我们来看一下到底有哪些示意说明
3、QCustomPlot提供了不少的示意类,接下来我说下QCPItemText和QCPItemCurve
QCPItemText示意代码如下:
1 QCPItemText *phaseTracerText = new QCPItemText(ui.widget_18);//构造一个文本 2 ui.widget_18->addItem(phaseTracerText);//添加到图 3 phaseTracerText->position->setType(QCPItemPosition::ptAxisRectRatio);//设置文本坐标解析方式,前文中有提到QCPItemPosition类的PositionType枚举 4 phaseTracerText->setPositionAlignment(Qt::AlignRight | Qt::AlignBottom);//设置位置在矩形区域的位置 5 phaseTracerText->position->setCoords(1.0, 0.95); // 设置位置,注意第三行代码的枚举类型和这儿的值解析方式有关系 6 phaseTracerText->setText("Points of fixed\nphase define\nphase velocity vp");//文本描述 7 phaseTracerText->setTextAlignment(Qt::AlignLeft);//设置文本在矩形区域的位置 8 phaseTracerText->setFont(QFont(font().family(), 9));//设置文本的字体 9 phaseTracerText->setPadding(QMargins(8, 0, 0, 0));//设置文本所在矩形的margins
QCPItemCurve示意代码如下:
1 QCPItemCurve *phaseTracerArrow = new QCPItemCurve(ui.widget_18);//构造一个带参数线 2 ui.widget_18->addItem(phaseTracerArrow);//添加到图中 3 phaseTracerArrow->start->setParentAnchor(phaseTracerText->left);//曲线的开始点为文本的左位置 4 phaseTracerArrow->startDir->setParentAnchor(phaseTracerArrow->start);//同步自身的锚点 5 phaseTracerArrow->startDir->setCoords(-40, 0); // x轴偏移40个像素 6 phaseTracerArrow->end->setParentAnchor(phaseTracer->position);//曲线的结束点为实心圆的位置 7 phaseTracerArrow->end->setCoords(10, 10);//偏移 8 phaseTracerArrow->endDir->setParentAnchor(phaseTracerArrow->end);//同步自身的锚点 9 phaseTracerArrow->endDir->setCoords(30, 30);//偏移 10 phaseTracerArrow->setHead(QCPLineEnding::esSpikeArrow);//设置首部形状(箭头) 11 phaseTracerArrow->setTail(QCPLineEnding(QCPLineEnding::esBar, (phaseTracerText->bottom->pixelPoint().y() - phaseTracerText->top->pixelPoint().y())*0.85));//设置尾部形状(一条竖线)
一、概述 前边已经写了5篇对QCustomPlot的讲解,看过上述的几篇文章后,基本就能做一些简单的使用了,但是如果想要做到高度的控制图表,那么坐标轴将是很重要的一部分,因为坐标轴就是图表的一个参考系,没有... 查看详情
一、是什么 说起图,大家一下就可能想到折线图、柱状图和饼图等,但是除了这些显眼的东西以外其实还有很多东西辅助的存在着,有了这些辅助的东西图才会看起来有意义,或者说更加的真实、有说服力。这... 查看详情
文章目录1.前言2.下载QCustomPlot的源码3.将QCustomPlot添加到QT项目4.移植QCustomPlotDemo中的plots5.移植过程出现的问题5.测试demo完整工程1.前言QCustomPlot是一个超强超小巧的qt绘图类,非常漂亮,非常易用,只需要加入一个qcusto... 查看详情
文章目录1.前言2.下载QCustomPlot的源码3.将QCustomPlot添加到QT项目4.移植QCustomPlotDemo中的plots5.移植过程出现的问题5.测试demo完整工程1.前言QCustomPlot是一个超强超小巧的qt绘图类,非常漂亮,非常易用,只需要加入一个qcusto... 查看详情
】如何有效地使用QCustomPlot绘制大型时间序列?【英文标题】:HowtoplotlargetimeserieswithQCustomPlotefficiently?【发布时间】:2014-12-1107:44:52【问题描述】:我目前正在使用QCustomPlot在Qt中绘制数字信号,但似乎当样本数大于10000000时,操... 查看详情
一、入门1、下载源文件http://www.qcustomplot.com/;2、把.cpp和.h放在工程目录下,并将cpp和h加入工程;3、在.pro中:QT+=printsupport;4、在ui中添加一个Widget,右键提升为,输入:QCustomPlot,改变对象名称为customPlot;5、加入代码:voidMain... 查看详情
文章目录简述下载使用简述QCustomPlot是一个基于QtC++的图形库,用于绘制和数据可视化-制作漂亮的2D图-曲线图、趋势图、坐标图、柱状图等,并为实时可视化应用程序提供高性能服务。它没有进一步的依赖关系,... 查看详情
使用QCustomPlot绘图库辅助开发时整理的学习笔记。本篇总结QCustomPlot在各版本中的更新要点。说明使用QCustomPlot绘图库辅助开发时整理的学习笔记。本篇总结QCustomPlot在各版本中的更新要点,详细更新日志可查看QCustomPlot更新日志... 查看详情
...受到的数据通过曲线显示出来,其实这是用一个叫做QCustomPlot的控件,这个控件不是QT自带的,需要自己下载加入,今天介绍一下这个控件的使用方法,并附源码。QCustomPlot简介QCustomPlot是开源的Qt的第三方绘图... 查看详情
...受到的数据通过曲线显示出来,其实这是用一个叫做QCustomPlot的控件,这个控件不是QT自带的,需要自己下载加入,今天介绍一下这个控件的使用方法,并附源码。QCustomPlot简介QCustomPlot是开源的Qt的第三方绘图... 查看详情
一、配置QCustomPlot官方下载地址:http://www.qcustomplot.com/index.php/download650)this.width=650;"src="http://img.blog.csdn.net/20151010144651708?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fonts 查看详情
】MSVS2012中的QCustomPlot【英文标题】:QCustomPlotinMSVS2012【发布时间】:2015-04-0811:12:26【问题描述】:我成功地在VisualStudio2012中构建了一个无需插件即可运行QT的程序。我包含了QT包含文件夹并手动将库添加到资源中。它编译并运行... 查看详情
//初始化数据QVector<double>temp;for(intvar=0;var<25;++var)if(rand()%2)temp.append(var);elsetemp.append(20);QVector<double>time;for(intvar=0;var<25;++var)time.appen 查看详情
】QCustomPlot:如何更新图表的数据?【英文标题】:QCustomPlot:Howtoupdatedataofagraph?【发布时间】:2016-04-0222:33:14【问题描述】:我使用QCustomPlot来显示图片的直方图。我用来设置a曲线的函数如下:voidSingleHistogram::setHist(constQVector<d... 查看详情
#ifndef _HLM_GRAPH_H_#define _HLM_GRAPH_H_#include <qcustomplot.h>class hlm_temp_Graph : public QWidget{public: explicit hlm_temp_G 查看详情
】QCustomPlot重新绘制QCPLayer【英文标题】:QCustomPlotreplotQCPLayer【发布时间】:2018-03-2516:03:44【问题描述】:我正在尝试弄清楚如何使用QCPLayer仅重新绘制图中的某些项目。qcustomplotdocumentation声明如下:如果你经常需要调用一个完... 查看详情
】QCustomPlot海量数据绘图【英文标题】:QCustomPlotHugeAmountofDataPlotting【发布时间】:2017-03-1123:45:23【问题描述】:我正在尝试使用qcustomplot类在我的QtGui程序上绘制一些串行数据。当我尝试绘制100个数据/秒的低采样频率数据时,我... 查看详情
文章目录一、要实现的螺旋曲线二、方程式:三、QCustomPlot图形库运用四、关键代码GitHub源码: QWidgetLearningProQT其它文章请点击这里: QT学习笔记姊妹篇: QtQML在Map中使用实现二维螺旋曲线(螺旋曲线二)... 查看详情