Clear Filters
Clear Filters

Add grid lines onto the 3D mesh plot

54 views (last 30 days)
Mingze Yin
Mingze Yin on 15 Mar 2022
Commented: KSSV on 17 Mar 2022
Hi,
I have two different mesh plots for comparison below:
As you may have observed, the plot on top has the concrete black grid lines(forgive me if I used the wrong term), while the bottom plot only has blocks of colors. My goal is to make the plot on the bottom also have the grid lines like the top plot. I've tried to look up the document on mesh plot, but I couldn't find out how to do it. Could someone help me out on this problem, or point me to the right document / tutorial? Thanks so much!
  2 Comments
KSSV
KSSV on 15 Mar 2022
When you plot using Surf, default edgecolors will be on. How did you plot this, show us your code.
Mingze Yin
Mingze Yin on 16 Mar 2022
Sorry for the late reply, I just tried surf and it helps, I was using mesh to plot all along.
However, may I also ask if there is any way to reduce the number of lines to any specific number? (For example, to display 100 lines instead of 1000) I realised that I have too many lines to be displayed so the whole plot looks black...
Thanks again!

Sign in to comment.

Answers (2)

KSSV
KSSV on 16 Mar 2022
[X,Y,Z] = peaks(1000) ; % data for demo
surf(X,Y,Z) % this will be black
shading interp % this will remove black lines
hold on
idx = 1:20:1000 ; % will draw grid with reduced resolution
plot3(X(idx,idx),Y(idx,idx),Z(idx,idx),'k')
plot3(X(idx,idx)',Y(idx,idx)',Z(idx,idx)','k')
  2 Comments
KSSV
KSSV on 17 Mar 2022
As you said you want to display grid lines, plot3 draws the sparse gridlines.

Sign in to comment.


Star Strider
Star Strider on 16 Mar 2022
Use the Surface Properties MeshStyle property —
[X,Y,Z] = peaks(50);
figure
hs = surf(X,Y,Z);
hs.MeshStyle = 'column';
.

Community Treasure Hunt

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

Start Hunting!