深入浅出CChart 每日一课——快乐高四第九课 于无声处,CChart内置功能介绍之数据存取篇
笨笨长期以来一直使用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内置功能介绍之数据存取篇的更多相关文章
- 深入浅出CChart 每日一课——快乐高四第六课 二丫的青梅,返璞归真之普通窗体多区域画图
有好些朋友给我反映,就是一个窗体中加入好几个CChartWnd之后.工作不正常.这个的确是这样,CChartWnd会接管原来窗体的消息循环,加入多个CChartWnd之后,就相当于出租房转手好几道,消 ...
- Mysql内置功能《四》存储过程
存储过程 一 存储过程介绍 存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql 使用存储过程的优点: #1. 用于替代程序写的SQL语句,实 ...
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】
什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...
- 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 ...
- NeHe OpenGL教程 第四十七课:CG顶点脚本
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课
centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课 上半节课 下半节课 f
- NeHe OpenGL教程 第四十三课:FreeType库
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第四十课:绳子的模拟
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 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 第四节课 ...
随机推荐
- [TB-Technology] 淘宝在数据处理领域的项目及开源产品介绍
淘宝在数据存储和处理领域在国内互联网公司中一直保持比较靠前的位置,而且由于电子商务领域独特的应用场景,淘宝在数据实时性和大规模计算及挖掘方面一直在国内保持着领先,因此积累了很多的实践的经验和产品. T ...
- yii1 session
在 Yii框架中使用session 的笔记: 首先,在Yii框架中,你不需要像标准PHP代码那样使用session_start(),在Yii框架中,autoStart 属性缺省被设置为true,所以, ...
- 什么是CAS?
CAS(Compare-and-Swap),即比较并替换,是一种实现并发算法时常用到的技术,Java并发包中的很多类都使用了CAS技术.CAS需要有3个操作数:内存地址V,旧的预期值A,即将要更新的目 ...
- BZOJ 2073
思路: 状压DP 枚举子集 //By SiriusRen #include <cstdio> #include <cstring> #include <algorith ...
- 第4章 部署模式 Deployment Plan(部署规划)
已开发了基于组件的应用程序,该应用程序在逻辑上构造为多层结构,如 Three-Layered Services Application. 中所述.您希望将它分布到一组在物理上为多级结构的服务器上,如 ...
- java MD5加密的工具类
import java.security.MessageDigest; /** * MD5加密工具类 * @author zwq */ public class MD5Util { /** * MD5 ...
- Redis之Ubuntu下Redis集群搭建
安装redis 首先下载redis $ wget http://download.redis.io/releases/redis-4.0.10.tar.gz $ .tar.gz $ cd redis- ...
- tab选项卡切换(js原生、jQuery )
思路: ① 遍历Tab选项 ② 然后给每个Tab选项绑定点击事件 ③ 每次点击时清除所有Tab选项及Tab选项内容的样式,然后给当前Tab选项添加标记样式,给当前Tab选项添加显示样式 <!DO ...
- poj1111 Image Perimeters 广搜
题目大意: 输入一个矩阵,再输入其中一个“X”的位置(从1开始).从该位置向八个方向扩展,如果是“X”就可以并在一起.问最后得到的模块的周长是多少. 解题思路: 按照广搜的思路来做.用一个二维的数组标 ...
- java中参数传递实例
//在函数中传递基本数据类型, 2. public class Test { 4. public static void change(int i, in ...