Matlab 重用图例和格式

标签 matlab formatting automation figures

我有很多图表。 我需要对这些图表进行一些格式化。就像我需要更改标签一样,画几条线然后放置图例,在所有这些图表上格式化字体大小和颜色等。这些图表是 .fig 文件。

我没有图形数据点,并且生成代码选项需要很长时间才能处理。这些图是散点图。

有没有办法可以对所有这些图表使用相同的格式。就像打开所有无花果并通过编码进行一些图形属性编辑?或者创建一种格式并可以将其应用于所有数字? (类似于格式绘制之类的东西)

谢谢

最佳答案

MATLAB 图形是复杂的层次对象,因此几乎不可能制作通用的“格式绘制器”。

您可以将图形、轴、线等属性作为结构体获取,但其中许多属性是只读的。

如果您正在处理简单的图形 - 一个轴、类似类型的绘图、相同数量的数据系列、没有手动注释 - 可能更简单的方法是从一个图形中获取数据并将其应用到您想要的图形用作标准。

如果您的图形都是散点图,则对象类型是线条(如果您使用绘图)或 hggroup(如果您使用散点图)。所以他是一个如何做到这一点的例子。

fstd = hgload('standard.fig'); %# load standard figure
f1 = hgload('f1.fig'); %# load another figure
%# find data series objects
hstd = findobj(gcf,'type','line','-or','type','hggroup');
h1 = findobj(gcf,'type','line','-or','type','hggroup');
assert(numel(hstd)==numel(h1),'Figures have different number of data series')
%# get the data coordinates from one figure and apply to another
for k = 1:numel(hstd)
    h1x = get(h1(k),'XData');
    h1y = get(h1(k),'YData');
    h1z = get(h1(k),'ZData');
    set(hstd(k),'XData',h1x);
    set(hstd(k),'YData',h1y);
    set(hstd(k),'ZData',h1z);
end
hgsave(hstd,'f1mod.fig') %# save the modified figure

关于Matlab 重用图例和格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9196972/

相关文章:

performance - 在 MATLAB 中获取给定索引矩阵的元素的最快方法

html - 适用于 Windows 的免费本地(非在线)HTML 格式化程序软件

visual-studio - ASP.NET MVC 查看代码格式 - 大括号 <% } %>

sockets - 服务器上的SSH自动化

java - 如何在测试方法中使用expectedExceptionsMessageRegExp

MATLAB 将向量元素分配给单个变量的最简单方法

matlab - 空Matlab结构S和所有元素S之间的区别(:)

Ruby win32ole - 如何传递 VARIANT 参数?

c++ - 如何在 c++ 程序中调用 matlab 中的书面机器学习算法?

sql-server - SSMS 结果到网格 - CRLF 未保留在复制/粘贴中 - 有更好的技术吗?