Shading with plot3

23 views (last 30 days)
Niklas
Niklas on 26 May 2016
Answered: Walter Roberson on 26 May 2016
If you have plotted several dots with plot3(x,y,z) is it possible to add some shading because, shading interp, does not work. Something like how far away the dots are from origo?

Answers (1)

Walter Roberson
Walter Roberson on 26 May 2016
Instead of using plot3() you can use
r = sqrt(x.^2 + y.^2 + z.^2);
g = patch('Vertices', [x(:), y(:),z(:); nan nan nan], 'Faces', (1:length(x)+1).', 'FaceVertexCData', [r(:); nan], 'EdgeColor', 'interp', 'Marker','*')
This will shade both the lines and the markers.
There is a "trick" here, which is to put in the nan as a face. If you do not put in the nan (or inf instead) then patch() will close the polygon.

Community Treasure Hunt

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

Start Hunting!