打开由Matlab保存的.fig文件的程序

19

有没有能够打开Matlab保存的.fig文件的程序?


你是指除了Matlab本身以外的吗? :-) - Robert Pollak
5个回答

9

更新于29/04/2016

根据johnml1135的回答,fig文件本质上只是mat文件,johnml1135找到了各种绘图元素存储的位置,用于将fig文件转换为Python绘图。

原文

根据这里的回答,由Matlab保存的fig文件采用专有二进制格式。我不知道其他软件能否加载此格式。

您最好的选择可能是根据图类型从Matlab中将该图保存为pdf/png。

可能的解决方法

我最近注意到octave将一个fig文件作为一个结构体进行加载,因此,如果您试图打开fig文件而无法访问Matlab,则可以尝试编写一个Octave函数,该函数将从struct的内容中加载fig文件并重建绘图。但是,这可能需要事先了解有关绘图的信息。


2
实际上,Python/SciPy可以像这里所示那样读取文件。 - johnml1135
@johnml1135 :感谢您提供您的解决方案链接 - 看来 fig 文件只是 mat 文件,而且您已经找到了各种绘图项对应的结构 - 很不错! - jmetz

3
创建一个脚本(例如FigViewer.m),其中包含简单的命令figure,并通过在Matlab命令窗口中运行以下命令进行编译:

mcc -e -v FigViewer.m

这样,您就可以得到一个平台相关的应用程序,该程序在安装有正确版本的Matlab Compiler Runtime的任何计算机上运行,该软件是免费提供的。如果您想了解更多关于Matlab编译器的信息,请使用MathWorks主页而不是Google,因为一些信息只能在登录屏幕后才能找到,无法通过Google找到。

3
正如@mutzmatron所提到的,.fig不容易打开,但这主要是因为它文档不完善(对于专有方面不确定...)。正如这里所示,它们有一个简单的格式,与.mat文件非常相似,这可能会给你另一个方向。
我一直很喜欢plot2svg。它将Matlab图形(大多数)导出为非专有矢量格式SVG。

我曾经尝试过使用plot2svg,但发现它有一些漏洞 - 但我主要想知道SVG相对于PDF的优缺点是什么? - jmetz
2
是的,它有漏洞,Mathworks 应该开始原生支持它!优缺点太多了——它值得拥有自己的帖子。对我来说最相关的一点始终是 SVG 被大多数浏览器原生支持,而 PDF 支持一直很困难。此外,从 PDF 转换图像到其他格式可能会很麻烦,而 SVG 从未让我失望过。 - Rody Oldenhuis

1
Python 通过 SciPy 可以打开 fig 文件(scipy.io.loadmat),其实这只是另一种 mat 文件的称呼。此文章 可以展示带有标签等简单线条图,也可以轻松扩展。从中获取数据也相当简单。

-2
事实证明,Matlab本身实际上有一个命令,可以让你将任何图形以任何格式保存到文件中。试试这个:
print('theNameYouWant','-dpng')

这样可以将图形保存为png文件,然后可以通过许多应用程序打开,如MS Paint或Mac上的Paintbrush。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接