2013-04-09 145 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