我在“导出设置”对话框中保存了一些图形样式,可以通过文件->“导出设置”访问该对话框。
有什么方法可以通过编程方式加载我的其中一种样式吗?也就是说,我目前需要点击多次鼠标才能加载所需的样式,然后将其应用于图形,然后告诉它导出并给文件命名。我觉得所有这些都可以通过几个命令来完成,但我找不到正确的信息。
我在“导出设置”对话框中保存了一些图形样式,可以通过文件->“导出设置”访问该对话框。
有什么方法可以通过编程方式加载我的其中一种样式吗?也就是说,我目前需要点击多次鼠标才能加载所需的样式,然后将其应用于图形,然后告诉它导出并给文件命名。我觉得所有这些都可以通过几个命令来完成,但我找不到正确的信息。
% 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'
figure;
hold on;
plot(rand(1,100));
plot(rand(1,100), 'r');
grid on;
box on;
sdf('mystyle'); %"mystyle" is the name of export style
http://www.mathworks.com/matlabcentral/fileexchange/24807-sdf-set-the-figure
sdf('mystyle')
可以被内置的Matlab命令hgexport(gcf,'temp_dummy','mystyle','applystyle', true);
ж‰Ђж›їд»ЈгЂ‚ - kromuchi不太容易实现。
当您从“导出设置”对话框中保存样式时,相关信息将保存到MATLAB首选项目录中的文本文件中。如果您键入cd(fullfile(prefdir,'ExportSetup'))
,您可以看到它们。当您创建、应用和保存新样式时,“导出设置”对话框会执行一些您无法轻松访问这些文件的操作。
理论上,您可以自己读取和解析这些文件,并以编程方式应用样式,但我不知道您是否觉得这值得努力。
您可能会发现更容易创建一个图形,应用所需的任何更改和格式,然后自动生成一个新命令(从“图形”菜单中选择“文件->生成代码”)。然后,您只需调用该命令而不是常规绘图命令,即可将您的图形设置为所需状态。
希望能有所帮助。
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();
在任何图形绘制之后,此代码将打开导出设置对话框并更改为设置样式,然后关闭。
hgexport(gcf,'temp_dummy','mystyle','applystyle', true);
(请参见下面的SDF
包解决方案)可以使用。 - kromuchiSDF
包(来自Matlab Central)中恢复了它,因为我很好奇这个SDF
包是如何解决这个问题的。 - kromuchi