Scatterplot equivalent in plotting 3d data in 2d
Show older comments
Hi everyone,
I have three vectors of same size (54796X1 double) and want to plot them like the image attached. Using the scatter function, scatter(x,y ,35, z, 'filled'), naturally I get a plot made of dots. I increased the dot size to make the data look full but as you can see it is not a good solution. Do you know how the plot in the attached image is generated with the same data? I thought of image but I can not get it to work. I have attached the vectors in the workspace. Here is how I got my plot using scatter and contour:
scatter(x,y ,35, z, 'filled')
x_interpolated = linspace( -90, 90, 300 );
y_interpolated = linspace( -90, 90, 300 );
[ hx, hy ] = meshgrid( x_interpolated, y_interpolated );
F = TriScatteredInterp(x, y, z);
data_interpolated = F(hx, hy);
hold on
contour( x_interpolated, y_interpolated, data_interpolated, 10, 'k' );
Any help is highly appreciated.
/Hasti

6 Comments
KSSV
on 24 Jul 2017
Attach the data.....so that we can work on it and give a solution.
Walter Roberson
on 24 Jul 2017
Those appear to be contour plots not scatter plots.
Walter Roberson
on 24 Jul 2017
Scatter is not relevant here. You do not have hold on, so your entire plot is replaced by the contour plot derived from the scattered Interpolant
Hasti Yavari
on 24 Jul 2017
Walter Roberson
on 24 Jul 2017
It looks to me to be likely that your scatter plot is completely hidden by the contour plot. Both are in the z=0 plane and since they are the same depth and are both space filling areas instead of lines, the one that is going to show up is the one drawn last.
Hasti Yavari
on 24 Jul 2017
Accepted Answer
More Answers (0)
Categories
Find more on Scatter Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!