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

# 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

Jan Simon on 30 Jan 2013

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

## Products

No products are associated with this question.

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);
plot3(your_data(:,1),your_data(:,2),your_data(:,3),'b.');
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
```

José-Luis on 31 Jan 2013

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

Usman Ali on 6 Feb 2013

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...

José-Luis on 6 Feb 2013

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

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".