gpt4 book ai didi

matlab - 在 GUI 中将轴保存为图像 MATLAB

转载 作者:行者123 更新时间:2023-12-02 03:12:51 24 4
gpt4 key购买 nike

我知道有很多关于这个问题的答案,但我没有找到任何可以帮助我的答案。
我在 MATLAB 中有一个带有 2 个轴的 GUI,我想将每个轴单独保存为 .jpeg 或任何其他格式。
我尝试过的任何方式 - 我都得到了包含所有 GUI 或剪切图的图像。
知道如何获得 2 张好图像吗?

最佳答案

您可以遍历所有轴并调用 getframe 得到那个轴。然后您可以保存 cdata使用 imwrite .

% Get a list of all axes in the figure
allax = findall(gcf, 'type', 'axes');

for k = 1:numel(allax)
% Get the axes as an image
fr = getframe(allax(k));

% Save the image
imwrite(fr.cdata, sprintf('%d.png'));
end

如果您已经有轴句柄,则可以直接使用它们
fr = getframe(axes2);
imwrite(fr.cdata, 'axes2.png')

fr = getframe(axes1);
imwrite(fr.cdata, 'axes1.png')

如果你想包括 X 和 Y 轴标签,你可以做类似的事情
function axes2image(ax, filename)

hfig = ancestor(ax, 'figure');

rect = hgconvertunits(hfig, get(ax, 'OuterPosition'), ...
get(ax, 'Units'), 'pixels', get(ax, 'Parent'));

fr = getframe(hfig, rect);
imwrite(fr.cdata, filename);
end

axes2image(axes2, 'axes2.png')
axes2image(axes1, 'axes1.png')

关于matlab - 在 GUI 中将轴保存为图像 MATLAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38954777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com