Matlab编程中如何进行图形输出参数的保存和加载?

6

我在“导出设置”对话框中保存了一些图形样式,可以通过文件->“导出设置”访问该对话框。

有什么方法可以通过编程方式加载我的其中一种样式吗?也就是说,我目前需要点击多次鼠标才能加载所需的样式,然后将其应用于图形,然后告诉它导出并给文件命名。我觉得所有这些都可以通过几个命令来完成,但我找不到正确的信息。

4个回答

6
我在这个帖子的底部找到了解决方案:
 % create an example fig that we want to format with style file 'foo'
 plot(rand(14,10));

 % get style sheet info
 snam='foo'; % The name of your style file (NO extension)
 s=hgexport('readstyle',snam);

 %apply style sheet info
 fnam='myfig.jpeg'; % your file name
 s.Format = 'jpeg'; %I needed this to make it work but maybe you wont.
 hgexport(gcf,fnam,s);

在您当前的文件夹中应该有一个名为"myfig.jpeg"的文件,它是您在"foo"中进行导出设置后得到的图像。如果您想查看样式文件选项,请在命令行中键入s。它应该是一个类似于这样的结构体,其中包含所有您的导出设置。

s = 

            Version: '1'
             Format: 'jpeg'
            Preview: 'none'
              Width: 'auto'
             Height: 'auto'
              Units: 'points'
              Color: 'rgb'
         Background: 'w'
      FixedFontSize: '10'
     ScaledFontSize: 'auto'
           FontMode: 'scaled'
        FontSizeMin: '8'
     FixedLineWidth: '1'
    ScaledLineWidth: 'auto'
           LineMode: 'scaled'
       LineWidthMin: '2'
           FontName: 'Wingdings'
         FontWeight: 'auto'
          FontAngle: 'auto'
       FontEncoding: 'latin1'
            PSLevel: '2'
           Renderer: 'auto'
         Resolution: 'auto'
       LineStyleMap: 'none'
         ApplyStyle: '0'
             Bounds: 'loose'
           LockAxes: 'on'
             ShowUI: 'on'
       SeparateText: 'off'

不错。我不知道hgexport可以这样做。 - Sam Roberts
我刚刚谷歌搜索了这样一个解决方案,结果发现我很久以前提交了这个问题,但不知为何没有看到有人回答。它完美地解决了我的问题! - lonestar21
1
这个解决方案仅适用于将图形保存为图像(png、jpg、eps等),但如果您只想将样式应用于图形本身,则Matlab命令hgexport(gcf,'temp_dummy','mystyle','applystyle', true);(请参见下面的SDF包解决方案)可以使用。 - kromuchi
@kromuchi,如果要使用Matlab本地解决方案,您会用什么替换'temp_dummy'? - Trevor
你不必替换它,因为它只是一个假变量/字符串。我只是从Zubair推荐的SDF包(来自Matlab Central)中恢复了它,因为我很好奇这个SDF包是如何解决这个问题的。 - kromuchi

2

1
命令sdf('mystyle')可以被内置的Matlab命令hgexport(gcf,'temp_dummy','mystyle','applystyle', true);所替代。 - kromuchi

0

不太容易实现。

当您从“导出设置”对话框中保存样式时,相关信息将保存到MATLAB首选项目录中的文本文件中。如果您键入cd(fullfile(prefdir,'ExportSetup')),您可以看到它们。当您创建、应用和保存新样式时,“导出设置”对话框会执行一些您无法轻松访问这些文件的操作。

理论上,您可以自己读取和解析这些文件,并以编程方式应用样式,但我不知道您是否觉得这值得努力。

您可能会发现更容易创建一个图形,应用所需的任何更改和格式,然后自动生成一个新命令(从“图形”菜单中选择“文件->生成代码”)。然后,您只需调用该命令而不是常规绘图命令,即可将您的图形设置为所需状态。

希望能有所帮助。


0
exportsetupdlg;
fig=gcf;
fig.ExportsetupWindow.selectstylebutton.setSelectedItem('Your setting name');
fig.ExportsetupWindow.stylebutton.doClick();
fig.ExportsetupWindow.loadstylebutton.doClick();
fig.ExportsetupWindow.applybutton.doClick();
fig.ExportsetupWindow.closebutton.doClick();

在任何图形绘制之后,此代码将打开导出设置对话框并更改为设置样式,然后关闭。


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