I am plotting data in MATLAB in real time. I want to use a handle. My problem is I do not know how to plot more than one Y-Data Curve.
I found the following code It shows how to plot one set of YData. Has anybody got an idea to transform the code into two or more Y-Datasets, e.g. sind(x) as an additional curve in the plot?
x = 1:1000;
y = cosd(x);
xi = x(1);
yi = y(1);
h = plot(xi, yi, 'YDataSource', 'yi', 'XDataSource', 'xi');
for k = 2:1000...
xi = x(1:k);
yi = y(1:k);
refreshdata(h, 'caller');
drawnow;
end;
First of all, never use refreshdata
. Use the direct set
method instead.
set(h,'Xdata',xi,'YData',yi);
Secondly, you should do two plots
h1 = plot(xi, yi);
h2 = plot(xi, yi);
And update each one accordingly.