Data with NaN
26 views (last 30 days)
Show older comments
Ola Kalen
on 28 Mar 2011
Commented: Vishnu Keyen
on 18 Aug 2021
Hi
I´m having trouble plotting data that include NaNs. I load a data-matrix using textread. I want to skip plotting entries that are NaNs.
For example:
x=[4 2 NaN 9]
y=[3 5 7 8]
Now I want to plot x against y for the 1st, 2nd and last entries (skipping the third). Are tips how to do this?
0 Comments
Accepted Answer
Teja Muppirala
on 28 Mar 2011
If you wanted to keep a line connecting them:
I = ~isnan(x) & ~isnan(y);
plot(x(I),y(I))
More Answers (3)
John D'Errico
on 28 Mar 2011
Have you bothered trying to plat the data? What did plot do when you did try it? For example,
plot(x,y,'o')
Try things in MATLAB! Don't just give up and assume it will fail! READ THE HELP! Look at the arguments.
0 Comments
David Young
on 28 Mar 2011
Unless I've misunderstood your question,
plot(x,y,'o');
does exactly what you are asking.
1 Comment
Vishnu Keyen
on 18 Aug 2021
I have 1*1000 array
I have values only in every 100th indice.
x=nan(1,1000);
x(1:100:end)=rand(1,10);
y = 1:1000;
it will plot the data when i say
plot(x,y,'o-')
But there won't be any line between the points.
I want to plot all the values, ignore the nans, and still get a line connected between them.
Ola Kalen
on 28 Mar 2011
1 Comment
Teja Muppirala
on 28 Mar 2011
Sure, no problem. I assumed that's probably what you were trying to do.
It helps to be very thorough in writing in your question though. In other words don't just say you are "having trouble", but say what that trouble is ("the line connecting them disappears!").
Sometimes people have difficulty interpreting exactly what you wanted to ask, and then you are less likely to get the answer that you were looking for.
See Also
Categories
Find more on Axis Labels 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!