qt外部数据传入实现动态的折线图绘制
在嵌入式开发中,实现数据收集与显示很常见,对于希望数据稳定的应用来说,
折现图的表现形式很符合条件。
本实现是通过qt的signal-slot来实现折线图的动态显示,一个信号的到来,数据添加,然后重绘
这是其中使用到的一些数据结构
QList<qreal> xList;//x轴数据链
QList<qreal> yDrawList;//的y轴数据链
QList<qreal> yWaList;//WA的y轴数据链
QList<qreal> yWbList;//WB的x轴数据链
int Counter;//记录3条折线的第几个点 //我画了三条折线
//下面是实现 //节点数据的添加
void lineChart::dataInput(int i, int j, int k)//接受数据到达的信号
{
int xsize=xList.size();
if(xsize==21)//测试20个x轴坐标刷新一次图想,
{
xList.clear();
xsize=xList.size();
}
if(xsize>=1)
{
xList.insert(xsize,xsize*2);
yDrawList.insert(xsize,i);
yWaList.insert(xsize,j);
yWbList.insert(xsize,k);
emit pointOver();//重绘信号
}
else{
xList.insert(xsize,xsize*2);
yDrawList.insert(xsize,i);
yWaList.insert(xsize,j);
yWbList.insert(xsize,k);
}
} //折线绘制函数
while(Counter < (xList.size()-1))
{
painter.setPen(pen);
painter.drawLine(2*xList.value(Counter)+25,205-yDrawList.value(Counter)*2,
2*xList.value(Counter+1)+25,205-yDrawList.value(Counter+1)*2);
Counter++;
}
Counter=0;
while(Counter < (xList.size()-1))
{
painter.setPen(pen1);
painter.drawLine(xList.value(Counter)*2+25,205-yWaList.value(Counter)*2,
xList.value(Counter+1)*2+25,205-yWaList.value(Counter+1)*2);
Counter++;
}
Counter=0;
while(Counter < (xList.size()-1))
{
painter.setPen(pen2);
painter.drawLine(xList.value(Counter)*2+25,205-yWbList.value(Counter)*2,
25+xList.value(Counter+1)*2,205-yWbList.value(Counter+1)*2);
Counter++;
} 最后来张效果图
http://blog.csdn.net/zhx6044/article/details/7674924
qt外部数据传入实现动态的折线图绘制的更多相关文章
- Qt数据可视化(散点图、折线图、柱状图、盒须图、饼状图、雷达图)开发实例
目录 散点图 折线图 柱状图 水平柱状图 水平堆叠图 水平百分比柱状图 盒须图 饼状图 雷达图 Qt散点图.折线图.柱状图.盒须图.饼状图.雷达图开发实例. 在开发过程中我们会使用多各种各样的图 ...
- Python_散点图与折线图绘制
在数据分析的过程中,经常需要将数据可视化,目前常使用的:散点图 折线图 需要import的外部包 一个是绘图 一个是字体导入 import matplotlib.pyplot as plt fro ...
- [Python Study Notes]折线图绘制
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- JAVA Swing使用JFreeChart实现折线图绘制
效果如下: 实现步骤: 1.导入JAR包 jfreechart官网下载的zip文件中包含这两个jar包 2.代码编写 import org.jfree.chart.ChartFactory; impo ...
- Matplotlib数据可视化(4):折线图与散点图
In [1]: from matplotlib import pyplot as plt import numpy as np import matplotlib as mpl mpl.rcParam ...
- python操作Excel、openpyxl 之图表,折线图、饼图、柱状图等
一.准备 需要模块: from openpyxl.workbook import Workbook from openpyxl.chart import Series,LineChart, Refer ...
- 【EXCEL-折线图】百折不挠 | 用EXCEL画出与众不同的折线图(曲线图)
很多熟悉EXLCE的朋友都知道EXCEL在生成统计图表方面的强大功能,我们在写各类总结.报告.方案等文档时常涉及到各类统计数字,将统计数字用图表的形式展示出来,既直观又美观.下面我分享一种不一样的折线 ...
- Echarts案例-折线图
一:先在官网下载 https://www.echartsjs.com/zh/download.html 然后再建立工程,导入这两个包: 写代码: <!DOCTYPE html> <h ...
- OpenGL——折线图柱状图饼图绘制
折线图绘制代码: #include<iostream> //旧版本 固定管线 #include<Windows.h> #include <GL/glut.h> // ...
随机推荐
- js javascript:void(0) 真正含义
我想使用过ajax的都常见这样的代码:<a href="javascript:doTest2();void(0);">here</a>但这儿的void(0) ...
- mac os使用homebrew来管理后台服务
在linux下我们经常通过 service 或者 /etc/init.d/来管理我们的后台服务软件,并使用包管理器安装这些软件. 在mac下有homebrew这个好用的工具来安装软件,但是一直没有找到 ...
- js原型链与继承(初体验)
js原型链与继承是js中的重点,所以我们通过以下三个例子来进行详细的讲解. 首先定义一个对象obj,该对象的原型为obj._proto_,我们可以用ES5中的getPrototypeOf这一方法来查询 ...
- 1101. Quick Sort (25)
There is a classical process named partition in the famous quick sort algorithm. In this process we ...
- hadoop相关问题
发现一篇不错的文章,转一下.http://www.cnblogs.com/xuekyo/p/3386610.html HDFS导论(转) 1.流式数据访问 HDFS的构建思想是这样的:一次写入,多 ...
- iOS常见问题(2)
一.模拟器黑屏 解决方法: 二.打代码时,Xcode没提示 解决方法: 0. 点击Preferences 1. 进入Text Editing 2. 勾选 三.有时候可能在勾选 Autolayout的时 ...
- Javascript中字符串转换成Date的方法
//字符串转成Time(dateDiff)所需方法 function stringToTime(string) { var f = string.split(' ', 2); var d = (f[0 ...
- 为什么V8引擎这么快?(转载)
转载请注明出处:http://blog.csdn.net/horkychen Google研发的V8 JavaScript引擎性能优异.我们请熟悉内部程序实现的作者依源代码来看看V8是如何加速的. 作 ...
- 团队作业week2-软件分析和用户需求调查
我们的团队选择评定的软件是必应词典(iphone版)和使用较多的有道词典(iphone版) 类别 描述 评分(Bing) 评分(有道) 功能 核心功能1:词典 顾名思义,作为一款词典类 ...
- C#WinForm中播放背景音乐(亲测可用)
using System.Runtime.InteropServices; public static uint SND_ASYNC = 0x0001; public static uint SND_ ...