surf plot of f(x,y). With gridlines, but more sparse than default

6 vues (au cours des 30 derniers jours)
Zaheer Ali
Zaheer Ali le 14 Déc 2021
surf(x,y,z) where z is oscillatory. Therefore x,y are 100x100. I want the gridlines (don't want to use flat or interp options). However, too many gridlines don't look good. Looking for a way to reduce gridlines by 50% or 75% etc. in both x and y coord.

Réponses (2)

cr
cr le 14 Déc 2021
Modifié(e) : cr le 14 Déc 2021
s=surf(x,y,z)
Now use s.Parent.XTick and set it to a vector. E.g.
s.Parent.XTick = 0:2:10;
will make the X-grid 2units with limits of X from 0 to 10. Similarly s.Parent.Ytick may be used to set the y-grid spacing.

Walter Roberson
Walter Roberson le 14 Déc 2021
I suspect you are not talking about the "gridlines" as such: I think you are talking about the drawing of the edges of each face.
There is no direct way to control the drawing of the edges.
Use 'edgecolor', 'flat', and supply a 'CData' that includes a lof of NaN .
Use a different color for each edge based on the values in the CData property.
First you must specify the CData property as a matrix the same size as ZData.
The color value at the first vertex of each face (in the positive x and y directions)
determines the color for the adjacent edges.

Tags

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by