MATLAB Answers


getting plot projection in 3d

Asked by Usman Ali on 30 Jan 2013

hi, i was searching for getting projection of plots in 3d view, i found a nice shadowplot function for this purpose i am trying to use it for 3d vectors after plot3(..) but not successful. it only works with mesh/surf plots. help

  1 Comment

Please mention any details about the "nice shadowplot function" you have found. We cannot guess which function this is.

Log in to comment.

2 Answers

Answer by José-Luis
on 30 Jan 2013
Edited by José-Luis
on 30 Jan 2013

aH = axes;
your_data = randn(1000,3);
oneMat = ones(size(your_data,1),1);
hold on
xL = get(aH,'XLim');
yL = get(aH,'XLim');
zL = get(aH,'XLim');
plot3(oneMat .* xL(2), your_data(:,2), your_data(:,3), 'k.');
plot3(your_data(:,1), oneMat .* yL(2), your_data(:,3), 'k.');
plot3(your_data(:,1), your_data(:,2), oneMat .* zL(1), 'k.');
grid on

Please accept an answer if it helps you.


I don't understand, what's wrong with the way I plotted it? Could you please show an example of what you actually want?

let's say i have to plot a sin and cos in complex plan with their shadows on the walls t = 0:pi/50:10*pi; plot3(t,cos(t),sin(t)); if i apply shadowplot x or shadowplot y nothing happens...

That's because you are talking about points. The "shadow" of a point is a point, the "shadow" of a surface is a surface.

Log in to comment.

Answer by Jan Simon
on 30 Jan 2013

What about using surf instead of plot3 when the function you have found works for surf, but not for plot3? There are a lot of examples for surface plots in the FileExchange, search for e.g. "arrow".


does surf works for vectors :/

Yes. It depends on how you define the inputs.

Log in to comment.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!