Update plot using set() with xData and yData
163 views (last 30 days)
Show older comments
Hello,
Im trying to set a plot handle by updating its xData and ydata.I have a 2048X8 array of doubles called normWanted = 2048X8 of double type.
Ive tried:
set(hPlot3, 'Xdata',1:2048,'Ydata',normWanted);
I get the error"Value must be a vector of numeric type"
Now if I try: set(hPlot3, 'Xdata',1:2048,'Ydata',normWanted(:,1)); <- this works but only plots 1,would like to plot all 8 arrays
Any ideas on how to plot this using set or a better way,I have a figure with multiple subplots so?
2 Comments
jonas
on 28 Jul 2020
What exactly is hPlot3? Is it an array of handles? Are you trying to update 8 line handles?
Accepted Answer
Cris LaPierre
on 29 Jul 2020
When you plot multiple lines in a single plol, your handle is an array of line objects, one for each line. If you want to use the XData and YData properties, you must first create a line object for each data set you want to display. Then you would have to update the XData and YData properties of each line one at a time.
hPlot3 = plot(hAxes3, nan,nan, nan,nan, nan,nan, nan,nan, nan,nan, nan,nan, nan,nan, nan,nan);
set(hPlot3(1),'XData',1:2048,'YData',normWanted(:,1))
set(hPlot3(2),'XData',1:2048,'YData',normWanted(:,2))
...
set(hPlot3(8),'XData',1:2048,'YData',normWanted(:,8))
3 Comments
Cris LaPierre
on 29 Jul 2020
If you haven't already done so, I suggest going through Chapter 9 of MATLAB Onramp. It doesn't get this in depth, but it does give a good intro to plotting in MATLAB, and only takes about 15 minutes.
More Answers (0)
See Also
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!