嵌入式开发中,实现数据收集与显示很常见,对于希望数据稳定的应用来说,
               折现图的表现形式很符合条件。
               本实现是通过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外部数据传入实现动态的折线图绘制的更多相关文章

  1. Qt数据可视化(散点图、折线图、柱状图、盒须图、饼状图、雷达图)开发实例

    ​  目录 散点图 折线图 柱状图 水平柱状图 水平堆叠图 水平百分比柱状图 盒须图 饼状图 雷达图 Qt散点图.折线图.柱状图.盒须图.饼状图.雷达图开发实例. 在开发过程中我们会使用多各种各样的图 ...

  2. Python_散点图与折线图绘制

    在数据分析的过程中,经常需要将数据可视化,目前常使用的:散点图  折线图 需要import的外部包  一个是绘图 一个是字体导入 import matplotlib.pyplot as plt fro ...

  3. [Python Study Notes]折线图绘制

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  4. JAVA Swing使用JFreeChart实现折线图绘制

    效果如下: 实现步骤: 1.导入JAR包 jfreechart官网下载的zip文件中包含这两个jar包 2.代码编写 import org.jfree.chart.ChartFactory; impo ...

  5. Matplotlib数据可视化(4):折线图与散点图

    In [1]: from matplotlib import pyplot as plt import numpy as np import matplotlib as mpl mpl.rcParam ...

  6. python操作Excel、openpyxl 之图表,折线图、饼图、柱状图等

    一.准备 需要模块: from openpyxl.workbook import Workbook from openpyxl.chart import Series,LineChart, Refer ...

  7. 【EXCEL-折线图】百折不挠 | 用EXCEL画出与众不同的折线图(曲线图)

    很多熟悉EXLCE的朋友都知道EXCEL在生成统计图表方面的强大功能,我们在写各类总结.报告.方案等文档时常涉及到各类统计数字,将统计数字用图表的形式展示出来,既直观又美观.下面我分享一种不一样的折线 ...

  8. Echarts案例-折线图

    一:先在官网下载 https://www.echartsjs.com/zh/download.html 然后再建立工程,导入这两个包: 写代码: <!DOCTYPE html> <h ...

  9. OpenGL——折线图柱状图饼图绘制

    折线图绘制代码: #include<iostream> //旧版本 固定管线 #include<Windows.h> #include <GL/glut.h> // ...

随机推荐

  1. JPG各种输入框样式

    输入框景背景透明:<input style="background:transparent;border:1px solid #ffffff"> 鼠标划过输入框,输入框 ...

  2. phpcms v9 源码解析(4)content模块下的index.php文件的init()方法解析

    在了解index.php中的init函数的时候,让我们先看看最开始的几行代码 1-5  第二行, defined('IN_PHPCMS') or exit('Nopermission resource ...

  3. python自学笔记二

    :#进入循环重输文0件名 pass else:#退出循环,等待创建 break fobj = open(fname,'a')#打开或创建文件 #接下来写入文件 all = [] print('ente ...

  4. Spark 大数据平台 Introduction part 2 coding

    Basic Functions sc.parallelize(List(1,2,3,4,5,6)).map(_ * 2).filter(_ > 5).collect() *** res: Arr ...

  5. 简单的Datatable转List,Json

    这里用到了Newtonsoft.Json,下载地址:http://json.codeplex.com/ 1.根据不同的Model转为对应的List public static List<Mode ...

  6. js 前加分号和感叹号是什么意思?

    ;!function(){}();  ;!有什么用? 从语法上来开,Javascript中分号表示语句结束,在开头加上,可能是为了压缩的时候和别的方法分割一下,表示一个新的语句开始.所以,如果在一个单 ...

  7. Android中解析JSON形式的数据

    1.JSON(JavaScript Object Notation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式, ...

  8. 让别人也可以访问你电脑上的ASP.NET MVC创建的网站

    最近在写一个网站,昨天刚写完,由于要和朋友一起测试,但是他电脑上没有环境,所以希望我在自己电脑上部署一下,让他直接通过浏览器来访问来测试,所以从昨晚到今天上午,通过各种搜索,终于搞定了. 先介绍一下我 ...

  9. C#加密NodeJS解密

    C#代码: class Program { static void Main(string[] args) { Console.WriteLine(", "abcdefghijkl ...

  10. jquery ajax超时设置

    var ajaxTimeoutTest = $.ajax({ url:'',  //请求的URL timeout : 1000, //超时时间设置,单位毫秒 type : 'get',  //请求方式 ...