Scatter not ignoring NaN in image
36 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Guillaume
2017 年 8 月 1 日
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 件のコメント
その他の回答 (1 件)
Muhammad RSMY
2017 年 9 月 23 日
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 件のコメント
Guillaume
2017 年 9 月 23 日
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));
参考
カテゴリ
Help Center および File Exchange で Purple についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!