MATLAB Answers

SMA
0

Creating 3d slice plot from various 2d dot plots

Asked by SMA
on 13 May 2016
Latest activity Answered by Mike Garrity
on 13 May 2016
I am having a hard time structuring this question so will gladly explain/clarify.
I have 10 different datasets with different time periods. I have created 2d plots where x-axis is the starting year and y axis is a window and the plot colors and circle size represent different values. Now I'd like to get all the datasets in a single 3d 'slice' plot where z-axis is window, x-axis is year and y-axis is name of the dataset.
For example; the attached figure (Test) is a sample 2d plot and there are 10 of these with different x-axis year and the second attached figure (net) is what I am hoping for (except it will be scatter not a surface).

  0 Comments

Sign in to comment.

1 Answer

Answer by Mike Garrity
on 13 May 2016

So you have something like this:
npts = 120;
for i=1:10
years(i,:) = randi(50,[1 npts]);
windows(i,:) = randn(1,npts);
end
for i=1:10
subplot(10,1,i)
scatter(years(i,:),windows(i,:),'filled')
end
You can use scatter3 with a constant for Y like this:
for i=1:10
scatter3(windows(i,:),i+zeros(1,npts),years(i,:),'filled')
hold on
end
xlabel('Window')
ylabel('Dataset')
zlabel('Year')
view(-70,24)
Cycling through the colors is the default behaviour. You can set a color in each call to scatter3 if you don't want that.

  0 Comments

Sign in to comment.