如何在不显示的情况下编辑保存在.fig文件中的图形的属性

埃里克

我想编辑另存为.fig(MATLAB的默认格式)文件的MATLAB图形的某些属性。

我在脚本中创建了许多图形密集型图形,因此我选择不通过使默认图形不可见来显示它们set(0,'DefaultFigureVisible','off')这会将'Visible'任何新图形属性设置'off'这样,我就可以创建,编辑,保存等图形,而无需绘制它们,这可能会增加CPU,GPU及其内存的负担。我使用saveas(handle,'filename.fig')命令将图形另存为.fig文件这也保存了'Visible'属性,当我确实要打开图形时(例如,通过在Windows资源管理器中双击文件),这是一个问题。它会加载该图,但由于其'Visible'属性设置为,因此不会显示它'off'

我希望将所有.fig文件保存为属性设置为'on',但是如何在不显示数字的情况下实现此目的?我使用的那一刻set(handle,'Visible','on'),该图已绘制。

因此,基本上,我想比在MATLAB中将其作为图形加载时在更低的级别上编辑文件。

我认为可以按照以下步骤进行操作,但是我不知道该如何实现。可以使用加载.fig数据,就好像它是.mat文件一样s=load('filename.fig','-mat');这将加载一个结构s该结构包含一些包含所有地物数据,属性等的字段。现在,必须在该未知结构中找到地物控柄,并且必须'Visible'编辑该控柄附带的属性。

可以在不绘制图形的情况下完成此操作吗?

我尝试过,但都没有成功,使用fopenfread和他们的朋友。

有人知道我该怎么做吗?

埃里克

我的解决方案基于user4506754发布的URL上的线程:http : //www.mathworks.com/matlabcentral/newsreader/view_thread/306249在那里,Jesse Hopkins帖子(第15条)可以编辑属性'ResizeFcn'以执行功能当MATLAB创建图形时。这在我的MATLAB安装上不起作用,但是使我研究了可以附加到图形属性中的不同函数。此页面记录了所有图形属性:http : //mathworks.com/help/matlab/ref/figure-properties.html在那里我找到了'CreateFcn'财产。其说明包含:

该属性指定在MATLAB创建图形时要执行的回调函数。MATLAB在执行CreateFcn回调之前初始化所有图形属性值。

这意味着该图将加载其属性,包括该'Visible'属性'off'然后'CreateFcn'被调用。

设置'CreateFcn'使图形可见即可解决我的问题。

set(gcf,'CreateFcn','set(gcf,''Visible'',''on'')')

一个例子:

ezplot(@sin) % draw a simple figure containing a sine wave, title, etc.
set(gcf,'Visible','off','CreateFcn','set(gcf,''Visible'',''on'')' % this disables the figure and set the 'CreateFcn' property simultaneously
saveas(gcf,'sin.fig') % save the figure in the current folder as a .fig file
close % closes current figure

现在转到资源管理器中的当前文件夹,然后双击sin.fig文件。它使MATLAB加载它,并,图中绘制。

找到解决方案。

正如我最初要求的那样,这不会编辑.fig文件(作为解决方案),但这是原始问题的替代解决方案。现在,我可以创建和保存图形,而不会看到它们,而是在MATLAB加载图形后立即绘制它们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不显示 SaveDialog 的提示的情况下将文件保存在特定位置

如何在不显示保存对话框的情况下保存Excel文件

如何在不显示视频中以前的帧的情况下保存动画?

如何在不显示标签的情况下在 textarea 中编辑带有标签的 HTML 文档?

如何在不删除文件内容的情况下保存在相同的.mat文件中?

如何在不显示任何窗口的情况下从批处理文件运行音频

如何在不显示Flask中的URI字段的情况下进行重定向?

如何在不显示 dtype 的情况下从对象在 Python 中打印?

如何在不显示dm脚本中的图像的情况下添加比例尺

如何在不将文件保存在Python中的情况下退出

如何在不编辑代码的情况下更改要保存的文件的名称?MatLab

如何在不使用编辑器的情况下以编程方式在 Eclipse 中保存文件?

如何在编辑后设置模板驱动表单的默认值但没有在没有表单组的情况下保存在 Angular 中?

如何在没有唯一 ID 的情况下将数据保存在 Firebase 中?

如何在没有特定要求的情况下将数据保存在mongodb中

如何在没有_id的情况下将文档保存在表中

仅在图像网址存在的情况下如何在Vue.js中显示<img>?

如何在不使用回形针或任何gem的情况下显示保存在数据库中的blob的内容?

如何将.fig文件中的图形另存为具有更高dpi的图像?

如何在不显示Excel窗口的情况下按文件名打开工作簿?

如何在不显示Windows登录窗口的情况下从远程桌面连接中的会话注销?

在Django中,如何在不显示链接的情况下将信息传递到服务器?

如何在不覆盖文件的情况下多次保存

如何在不提交Git的情况下保存文件?

如何在不更改 Win2D 中的原始文件的情况下编辑 .svg 文件属性?

在Unity编辑器中播放时,如何在不编写脚本的情况下显示FPS?

在 SSMS 中,无论如何要将变量保存在内存中并在不突出显示的情况下使用?

如何在不将旧根保存在堆栈中的情况下切换到颤振中的新根?

如何在不使用数据库的情况下将数据对象保存在数据网格中