2013-04-09 156 views
2

我写了一个程序,它需要大量数据并生成图形。如果我可以在现有图形上绘制曲线并将它们的值一起添加,它将非常方便并节省大量时间做出一条曲线。举一个简单的例子,假设我有下面的代码,添加曲线到Matlab图

x = [0 1 2 3 4 5]; 
y = [0 1 2 3 4 5]; 
z = [4 6 2 8 7 9]; 

figure 
plot(x,y,x,z) 

这段代码会产生一个带有两条曲线的图。在不修改代码或重新运行程序的情况下,只使用图形选项,我想将曲线y + z添加到图形中。这可能吗?谢谢。

我不想添加功能的原因是剧情代码被埋在8个循环中,它们调用来自4D单元格文件名字符串数组的数据。

回答

2

如果你有在情节中使用的xyz变量,你可以再补充新线的情节与

hold on 
plot(x,y+z) 
hold off 

如果你不直接让他们(它们在功能产生,例如,你总是可以从XData,YData属性中得到它们的线对象属性。

hline = findobj(gca,'type','line'); 
x = get(hline,'XData'); 
y = get(hline,'YData'); 
X = x{1}; % let's assume that all lines have the same x values. 
Y = sum(cell2mat(y)); 

hold on 
plot(X,Y) 
hold off