Scatter not ignoring NaN in image
35 views (last 30 days)
Show older comments
Hey everyone, I need your help for a short moment. I used "scatter" to plot the following image.
I am quite happy with the image, but there is one problem. The data that I circled are NaN, but they simply get displayed as the lowest value by the scatter function. I tried to change the colorbar into ignoring NaN or making them invisible, but this did not work. Do you know a way to make the NaN values invisible (or simply remove them ?). The matrices I used to create this image are 11x11.
3 Comments
Accepted Answer
Guillaume
on 1 Aug 2017
As mentioned, the NaNs are correctly ignored in R2017a. I don't have R2015b installed anymore to test. You can easily work around the issue by removing the NaNs yourself:
nonans = ~isnan(distance);
scatter(alpha(nonans), beta(nonans), 500, distance(nonans), 'filled')
0 Comments
More Answers (1)
Muhammad RSMY
on 23 Sep 2017
Data(isnan(Data))= 0;
idx = find(Data);
[X, Y] = ind2sub(size(Data), idx);
pointsize = 40;
scatter(X(:), Y(:), , pointsize, Data(idx),'square','filled');
colormap jet
colorbar
1 Comment
Guillaume
on 23 Sep 2017
Not sure why you're answering this 2 months after the question has been asked, particularly without any explanation.
Data(isnan(Data))= 0;
idx = find(Data);
[X, Y] = ind2sub(size(Data), idx);
Well, that's a very convoluted way of simply doing
[row, col] = find(~isnan(Data));
See Also
Categories
Find more on Purple in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!