1

我正在寻找一种方法来合并两个 Matlab 图。我将它们每个的图形文件作为 fig1.fig 和 fig2.fig 一个图形包含一个在一定范围内运行的图形,例如 1 到 100,另一个图形包含第一个图形的延续,例如 101 到 200。每个图形这些情节大约需要 8 个小时,所以我不想重新绘制它们。有没有什么简单的方法可以合并这两个图?

4

1 回答 1

7

听起来您想合并数据,因此您需要从每个图中提取 x 和 y 数据。如果你有一个线图,你可以加载第一个 .fig 文件

例如

在此处输入图像描述

然后输入

a = gca
handles = findobj(a)
isLine = strcmp(get(handles, 'Type'), 'line')
XData1 = get(handles(isLine), 'XData')
YData1 = get(handles(isLine), 'YData')

这将从您的第一个绘图中提取您的线的 x 和 y 数据。

现在关闭所有图形并加载第二个图:

在此处输入图像描述

a = gca
handles = findobj(a)
isLine = strcmp(get(handles, 'Type'), 'line')
XData2 = get(handles(isLine), 'XData')
YData2 = get(handles(isLine), 'YData')

您现在可以使用以下方法绘制合并图:

figure
plot([XData1 XData2], [YData1 YData2])
title('mergedPlot')

在此处输入图像描述

于 2013-05-31T07:14:59.550 回答