matlab中,常用"figure,plot()"绘图观察结果,fig图片的保存也很方便,再次用matlab打开之后,可以很方便的使用matlab工具继续观察和分析图中数据。理论上,fig图片中的数据,是存在的,可以被去读出来,如果这个过程比较方便的话,fig文件可以作为一种保存数据结果的方便的方式。

参考了matlab fig文件的操作_小木匠的博客-CSDN博客

中的操作,确实可以读取出数据,但是,对于一个figure中,包含多个图表的情况,这套方法存在一些问题,一般只能读取到一个图表。如下图所示:

这个图包含上下两部分, 但是套用文中【4】的操作,只能得到图中下面三条曲线的数据,上面图标中的数据无法获得。

具体代码如下:

open('aaa.fig');%aaa.fig为图片的文件名

lh = findall(gca, 'type', 'line')

xc = get(lh, 'xdata');

yc = get(lh, 'ydata');

执行后观察,可以看到,lh和xc、yc,都只有三个元素。

本人参考matlab的语言习惯,进行了修改和尝试,找到了正确的方法,代码如下:

figfile=open('aaa.fig');

lh = findall(figfile, 'type', 'line')

xc = get(lh, 'xdata');

yc = get(lh, 'ydata');

此时观察工作区,可以看到,lh和xc、yc,都是6个元素。经过实际测试,其中确实包含了图中所示的6条曲线数据,顺序是从下到上。这样就实现了对fig文件中数据的读取。

将其写成函数figread(),代码如下:

function [x,y]=figread(name1)
%本程序用于读取fig文件的数据,一般默认为plot生成的数据,包含多条曲线
%1,读取图片,获得图片句柄
a=open(name1);

%2,从图片中获取曲线信息
b=findall(a,'type','line');
x=get(b,'Xdata');
y=get(b,'Ydata');

%3,关闭图片
close(a);
end

本文结束。

MATLAB中fig文件多重图片数据读取相关推荐

  1. matlab.mat文件读取,matlab中mat文件的生成和读取

    1.mat文件的生成 (1)直接在Matlab中创建并保存矩阵数据 打开Matlab软件,点击左上角文件(File),然后点击新建(new),选择变量(Variable),就新建了一个mat文件. 点 ...

  2. matlab中fig文件编辑后再次打开出现import wizard无法显示fig图像

    以前用matlab画的图,matlab打开fig文件图的时候,应该出现图才对的,但是出现import wizard 窗口,多次点击出现了如下的图片. 在国外的mathworks的论坛上找到了答案. h ...

  3. matlab中mat文件的生成和读取

    在命令窗口输入数据. 1.mat文件的生成 (1)保存单一矩阵数据 如图所示,输入数据,生成数组.最后输入save x1 x.该语句表示将敲入的数组x生成数据x1.mat文件. (2)如果矩阵A.B都 ...

  4. matlab中分号,使用分号分隔数据读取CSV,并在matlab中使用逗号作为十进制标记

    EDIT3(接受的答案):使用主工具栏的变量部分中的导入数据按钮,可以自定义数据的导入方式.完成后,您可以单击箭头下方的导入选择,并生成将遵循导入数据窗口中定义的相同规则的脚本或函数. ------- ...

  5. matlab出如何从fig中获取数据,如何从MATLAB的fig文件中提取原始数据?

    如何从MATLAB的fig文件中提取原始数据? mip版  关注:171  答案:3  悬赏:70 解决时间 2021-02-23 07:29 已解决 2021-02-23 02:41 如何从MATL ...

  6. matlab如何新建mat文件_matlab中mat文件的生成和读取

    1.mat文件的生成 (1)直接在Matlab中创建并保存矩阵数据 打开Matlab软件,点击左上角文件(File),然后点击新建(new),选择变量(Variable),就新建了一个mat文件. 点 ...

  7. matlab中读文件的行数_【Matlab】 读取文件各种方法

    本技术支持指南主要处理:ASCII, binary, and MAT files.要得到MATLAB中可用来读写各种文件格式的完全函数列表,可以键入以下命令: help iofun MATLAB中有两 ...

  8. Matlab的fig文件

    个人理解matlab的fig文件是一种保存图形的数据文件,可以将曲线图数据保存到fig文件中,也可以通过matlab或者其他软件将数据提取出来. 保存可以直接在Matlab图形界面中操作,提取可参考如 ...

  9. matlab 存mat文件,matlab中mat文件简单存/取

    >>abc=[,,,,,]; >>save data save file_name:命令可以将当前项目中变量的值保存到file_name中去,这里的data文件就是mat文件. ...

  10. VC++中对文件的写入和读取

    VC++中对文件的写入和读取 本文介绍两种方法对文件进行读取和写入操作:1.采用fstream类:2.采用CStdioFile类. CStdioFile继承自CFile,一个CStdioFile对象代 ...

最新文章

  1. ctypealpha php_php ctype函数中文翻译和示例
  2. spring jpa @Query中使用in
  3. linux后台运行快捷键,Linux命令放入后台运行方法(和Ctrl+Z)详解版
  4. [原]SDL开发教程
  5. 【译】无限滚动加载最佳实践
  6. SAP CRM WebClient UI的on_new_focus应该怎么理解
  7. Docker 入门(4)镜像与容器
  8. Ruby 和 Python 分析器是如何工作的?
  9. SylixOS 内存管理源代码分析--pageLib.c
  10. 全国计算机研究所多少个,中国十大计算机名校是哪几所?
  11. 【Adobe Illustrator 教程】3. 认识钢笔工具
  12. OpenCV中Rect的一些神奇用法
  13. 服务器定时发送qq消息,python实现定时发送qq消息.pdf
  14. 网络对抗技术 实验一
  15. 提交和复位按钮的知识(Submit Reset Buttons)
  16. Amazon EBS 卷类型
  17. DxO one帮助iPhone成像质量超越黑卡
  18. c语言求根公式编程,c语言,求根公式
  19. ScrollView中嵌套GridView,不在顶部解决办法
  20. Commvault逻辑架构及组件说明

热门文章

  1. 如何用PS快速去除图片上的文字
  2. idea文件过大解决方法
  3. 常用计算器就是计算机吗,计算器和计算机的区别?
  4. java-for循环9的倍数(基础)
  5. 关于table表格头部固定和列固定的方式
  6. stm32usb做虚拟串口和键盘_在MINI STM32 板子上实现USB虚拟串口
  7. xsmax进入dfu模式_DFU模式是什么?苹果XR/XS Max的DFU模式进入与退出方法[多图]
  8. Qt之调用Windows图片查看器预览图片
  9. C++拷贝构造函数专题
  10. 浅谈核桃的栽培技术与种植管理方法