Setting the Z limits of a scatter3 plot

18 ビュー (過去 30 日間)
Feri
Feri 2020 年 3 月 27 日
コメント済み: Ameer Hamza 2020 年 3 月 27 日
Hello,
I have a scatter3 plot of an sphere with its center at (0, 0, 0) and its readius equal to 50. I am showing this in a scatter plot; so the Z limits are from -50 to 50. Now what I want to do is to only show the Z values that are larger than -10 and smaller than 20. I dont want to select these data points in a loop and then replot them. Rather setting the Zlim = ([-10 20]) does the job, but it rescales the entire plot in Z direction (whick makes sense).
Is the any way to keep the original Z limits, ([-50 50]), but only show the data that is above -10 and below 20?
(I hope I was able to explain what my issue is).
Any help is much appreciated.

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 3 月 27 日
編集済み: Ameer Hamza 2020 年 3 月 27 日
Run this example
fig = figure;
[X,Y,Z] = sphere(50);
x = 50*X(:);
y = 50*Y(:);
z = 50*Z(:);
z(z>20) = nan;
z(z<-10) = nan;
scatter3(x,y,z, '.')
zlim([-50, 50]);
  2 件のコメント
Feri
Feri 2020 年 3 月 27 日
Thank you Ameer,
Yes, I know of this solution, but since the size of the data set is large, (2.5 million data points) this might take some time. However, it seems that there is no solution to this.
Thank you so much anyways.
Ameer Hamza
Ameer Hamza 2020 年 3 月 27 日
yes, I need to filter these elements, either by setting them to nan or deleting them. I think setting them to nan is the faster of these two solutions.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by