MATLAB中fig文件多重图片数据读取
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文件多重图片数据读取相关推荐
- matlab.mat文件读取,matlab中mat文件的生成和读取
1.mat文件的生成 (1)直接在Matlab中创建并保存矩阵数据 打开Matlab软件,点击左上角文件(File),然后点击新建(new),选择变量(Variable),就新建了一个mat文件. 点 ...
- matlab中fig文件编辑后再次打开出现import wizard无法显示fig图像
以前用matlab画的图,matlab打开fig文件图的时候,应该出现图才对的,但是出现import wizard 窗口,多次点击出现了如下的图片. 在国外的mathworks的论坛上找到了答案. h ...
- matlab中mat文件的生成和读取
在命令窗口输入数据. 1.mat文件的生成 (1)保存单一矩阵数据 如图所示,输入数据,生成数组.最后输入save x1 x.该语句表示将敲入的数组x生成数据x1.mat文件. (2)如果矩阵A.B都 ...
- matlab中分号,使用分号分隔数据读取CSV,并在matlab中使用逗号作为十进制标记
EDIT3(接受的答案):使用主工具栏的变量部分中的导入数据按钮,可以自定义数据的导入方式.完成后,您可以单击箭头下方的导入选择,并生成将遵循导入数据窗口中定义的相同规则的脚本或函数. ------- ...
- matlab出如何从fig中获取数据,如何从MATLAB的fig文件中提取原始数据?
如何从MATLAB的fig文件中提取原始数据? mip版 关注:171 答案:3 悬赏:70 解决时间 2021-02-23 07:29 已解决 2021-02-23 02:41 如何从MATL ...
- matlab如何新建mat文件_matlab中mat文件的生成和读取
1.mat文件的生成 (1)直接在Matlab中创建并保存矩阵数据 打开Matlab软件,点击左上角文件(File),然后点击新建(new),选择变量(Variable),就新建了一个mat文件. 点 ...
- matlab中读文件的行数_【Matlab】 读取文件各种方法
本技术支持指南主要处理:ASCII, binary, and MAT files.要得到MATLAB中可用来读写各种文件格式的完全函数列表,可以键入以下命令: help iofun MATLAB中有两 ...
- Matlab的fig文件
个人理解matlab的fig文件是一种保存图形的数据文件,可以将曲线图数据保存到fig文件中,也可以通过matlab或者其他软件将数据提取出来. 保存可以直接在Matlab图形界面中操作,提取可参考如 ...
- matlab 存mat文件,matlab中mat文件简单存/取
>>abc=[,,,,,]; >>save data save file_name:命令可以将当前项目中变量的值保存到file_name中去,这里的data文件就是mat文件. ...
- VC++中对文件的写入和读取
VC++中对文件的写入和读取 本文介绍两种方法对文件进行读取和写入操作:1.采用fstream类:2.采用CStdioFile类. CStdioFile继承自CFile,一个CStdioFile对象代 ...
最新文章
- ctypealpha php_php ctype函数中文翻译和示例
- spring jpa @Query中使用in
- linux后台运行快捷键,Linux命令放入后台运行方法(和Ctrl+Z)详解版
- [原]SDL开发教程
- 【译】无限滚动加载最佳实践
- SAP CRM WebClient UI的on_new_focus应该怎么理解
- Docker 入门(4)镜像与容器
- Ruby 和 Python 分析器是如何工作的?
- SylixOS 内存管理源代码分析--pageLib.c
- 全国计算机研究所多少个,中国十大计算机名校是哪几所?
- 【Adobe Illustrator 教程】3. 认识钢笔工具
- OpenCV中Rect的一些神奇用法
- 服务器定时发送qq消息,python实现定时发送qq消息.pdf
- 网络对抗技术 实验一
- 提交和复位按钮的知识(Submit Reset Buttons)
- Amazon EBS 卷类型
- DxO one帮助iPhone成像质量超越黑卡
- c语言求根公式编程,c语言,求根公式
- ScrollView中嵌套GridView,不在顶部解决办法
- Commvault逻辑架构及组件说明