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

Если у вас есть x, y и z переменных, используемые в сюжете вы можете просто добавить новые строки к сюжету с

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 
Смежные вопросы