笨笨长期以来一直使用Origin软件画图和处理数据,但Origin软件没有编程语言的接口。笨笨开发CChart的一个潜在的目标。是想实现Origin软件的功能。当然这是一个不可能达到的目标。Origin软件的功能太强了。笨笨仅仅能膜拜。

下节课将介绍CChart内置的数据处理功能,这是笨笨向Origin的致敬。

在这之前。本节课首先介绍一下CChart内置的数据存取功能。

A9.1 CChart数据保存

假定我们绘制了如图的两条曲线。

假设要保存全部曲线数据,请点击右键菜单“曲线数据-->保存数据”,将弹出一个“多数据加载存储选项”对话框。

这里有两个选项,连续存储和共享X坐标数据。

首先我们试试两个选项都不选,点击继续,弹出“另存为”对话框。

保存的数据文件格式为TXT文本文件文件。

以下打开保存的数据文件。例如以下。

得到的数据文件由4列数据组成,当中前两列是第一条曲线的x坐标和y坐标。后两列是第二条曲线的x坐标和y坐标。

以下解释一下“多数据加载存储选项”对话框的两个选项。

假设选择“连续存储”选项,所得到的数据文件例如以下。

能够看到,数据文件是依照曲线的顺序依次存储的。为了区分不同的曲线。两条曲线之间有一个分隔符,这个分隔符也是在前面对话框里面设置的。

再看看选择“共享X轴坐标数据”后的情况。

这时候数据文件仅仅有三列。第一列是全部曲线的X坐标,第二列是第一条曲线的Y坐标,第三列是第二条曲线的Y坐标。只是选择这个选项须要你自己保证曲线的X坐标的确是一样的,CChart保存的实际上是第一条曲线的X坐标。

当然也能够保存单条数据。这时候须要点击菜单“曲线数据-->数据名-->管理-->保存数据”。

假设仅仅是看一下数据,还能够点击菜单“曲线数据-->显示数值”。

这时候弹出一个窗体。

这是一个表格,表格里面前两列是第一条曲线的坐标,后两列是第二条曲线的坐标。

假设点击菜单“曲线数据-->数据名-->管理-->显示数值”。也会弹出这么一个窗体,窗体里的内容仅仅是那一条曲线的数据。

在这个表格窗体里面也能够把数据保存到文件。如图,你首先要选择你想保存的数据区域,然后点击右键菜单Copy data。即把数据复制到了剪贴板了。假设你想保存到文件,仅仅须要再利用一下记事本就可以。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

我们拖动鼠标划过第一行1、2、3、4四个格子,就可以选择所有数据。以下先拷贝数据。再打开Excel软件,在A1格子选择粘贴。结果如图。

这么简单就实现了和Excel软件的交互!

以下再用Excel画个曲线试试看。

和CChart画出来的图相比,Excel的图像效果是不是真心弱爆了呢?

A9.2 CChart数据读取

CChart数据读取与数据保存是逆过程,文件的格式要求是一样的。

前面已经按三种格式保存了数据文件。

前面程序中画了两条曲线。以下我们首先点击菜单“曲线数据-->数据名-->管理-->清除数据”,删除掉一条曲线。如图。

这时候我们再点击右键菜单“曲线数据-->加载数据”,将又弹出“多数据加载存储选项”对话框。

点击“继续”后,弹出“打开”文件对话框。

这时候我们选择一个刚才保存的数据文件并打开。注意前一步“多数据加载存储选项”对话框里面的选项。应与保存这个文件时候的选项一致。

当然假设数据文件中面仅仅有一条曲线,那这些选项就无所谓了。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

读入的数据里面是两条曲线,原来另一条。怎么少了一条呢?呵呵。有两条重合在一起了。

右键菜单“曲线数据-->数据名-->管理-->读取数据”的功能类似,只是这个菜单读入的数据将替换掉该曲线原有的数据。

A9.3简单数据处理

在右键菜单“曲线数据-->数据名-->管理”以下。直接提供了两个简单的数据处理功能。一个是交换XY坐标。一个是数据排序。

这两幅图是一条曲线交换XY坐标前后的情况。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

数据排序有四种方式,分别为X升序。X降序,Y升序,Y降序。以下两幅图是分别为排序前和按X升序排列后的情况。

CChart数据存取功能临时就介绍这么多。希望大家不要有然并卵的感觉。下节课再见。

深入浅出CChart 每日一课——快乐高四第九课 于无声处,CChart内置功能介绍之数据存取篇的更多相关文章

  1. 深入浅出CChart 每日一课——快乐高四第六课 二丫的青梅,返璞归真之普通窗体多区域画图

    有好些朋友给我反映,就是一个窗体中加入好几个CChartWnd之后.工作不正常.这个的确是这样,CChartWnd会接管原来窗体的消息循环,加入多个CChartWnd之后,就相当于出租房转手好几道,消 ...

  2. Mysql内置功能《四》存储过程

    存储过程 一 存储过程介绍 存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql 使用存储过程的优点: #1. 用于替代程序写的SQL语句,实 ...

  3. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】

    什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...

  4. centos Linux系统日常管理1 cpuinfo cpu核数 命令 w, vmstat, uptime ,top ,kill ,ps ,free,netstat ,sar, ulimit ,lsof ,pidof 第十四节课

    centos Linux系统日常管理1  cpuinfo cpu核数   命令 w, vmstat, uptime ,top ,kill ,ps ,free,netstat ,sar, ulimit ...

  5. NeHe OpenGL教程 第四十七课:CG顶点脚本

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  6. centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课

    centos vmware centos6.6 64位 kvm虚拟化安装配置     第四十二节课 上半节课 下半节课 f

  7. NeHe OpenGL教程 第四十三课:FreeType库

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  8. NeHe OpenGL教程 第四十课:绳子的模拟

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  9. centos 目录文件管理 mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less ,head,tail,chown,chmod ,umask 第四节课

    centos 目录文件管理 mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less ,head,tail,chown,chmod ,umask  第四节课 ...

随机推荐

  1. xocde8打印出:Presenting view controllers on detached view controllers is discouraged

    原因: 是某个viewController的生命周期控制出现了错误,所以尽量避免一个controller的view去addsubview另一个controller的view,这样会破坏层级关系,导致第 ...

  2. The Unique MST--hdoj

    The Unique MST Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 20000/10000K (Java/Other) Tota ...

  3. findContours 轮廓查找

    物体的轮廓勾勒出了物体的整体形状,物体形状的边界像素一起组合成了轮廓. 灰度图像边界的明显特征是边界两侧灰度级的突变,根据这个特征,使用Sobel.拉普拉斯或Canny之类的边缘检测算子可以有效的检测 ...

  4. Vue.js和Nodejs的关系

    首先vue.js 是库,不是框架,不是框架,不是框架. Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据. Vue.js 的核心是一个允许你 ...

  5. 20. Valid Parentheses[E]有效的括号

    题目 Given a string containing just the characters '(',')','[',']','{' and '}',determine if the input ...

  6. 一个简单的js面试题

    在js群里看到有人发问,于是抱着练手的心态写了答了几个面试题,题目虽然不是太难,却很考验人的编程思维.汗颜,看了别人的答案后才发现自己好像笨了很多. 废话不说了 ,上代码. 1 要求 给一个数组的最后 ...

  7. C-C语言概述

    1.数据+算法=程序. 2.C语言程序是由一个或多个函数组成的,函数是由语句组成的,语句是由关键字,标识符,运算符,数据组成的:语句可分为:声明语句,赋值语句,控制语句,函数语句,空语句. 3.#in ...

  8. Android WindowManager和WindowManager.LayoutParams的使用以及实现悬浮窗口的方法

    1.理清概念 我们使用过Dialog和PopupWindow,还有Toast,它们都显示在Activity之上.那么我们首先需要理解的是android中是如何去绘制这些UI的呢?这里我只讲我所理解的, ...

  9. 使用UMDH进行内心泄露分析

    事前准备 1.安装windbg,安装好后在path中添加其安装目录(目的是为了执行命令行简单) 2.(设置符号路径,一般为接口所在路径)运行cmd,执行命令:set _NT_SYMBOL_PATH=d ...

  10. (转) RabbitMQ学习之工作队列(java)

    http://blog.csdn.net/zhu_tianwei/article/details/40887717 参考:http://blog.csdn.NET/lmj623565791/artic ...