Plotting points in 3D with mesh
43 views (last 30 days)
Show older comments
I have three vectors (X,Y,Z) of equal size. I want to plot them in 3D and interpolate the points. I use following code to plot the points but the figure that i get is not good enough. The plot that i get is also attached. Can someone explain kindly, what i am doing wrong. if more information is needed then kindly let me know.
Note that one vector represents x-coordinate while second represents y-coordinate and third one z-coordinate. If there is any better to visualize this scatter plot(interpolated) that will be also great.
plot3(first_test_vector,second_test_vector,test_label,'.'),hold on
title('1000 points selected for training data & interpolation of test data')
xlabel('x'), ylabel('y'), zlabel('Values')
legend('Sample data','Interpolated test data','Location','Best')
x = meshgrid(first_test_vector);
y = meshgrid(second_test_vector);
z = meshgrid(test_label);
mesh(x,y,z)
colorbar
title('Interpolated test data')
legend('Sample Points','Interpolated test data','Location','NorthWest')
1 Comment
Rik
on 26 Apr 2020
Do you want to create a surface? And can you share your data or write code that will generate plausible data?
Accepted Answer
J. Alex Lee
on 26 Apr 2020
Edited: J. Alex Lee
on 26 Apr 2020
For just visualizing the chosen data in a surface, does this look like what you want?
clc;
close all;
clear;
N = 500;
X = rand([N,1])*2*pi;
Y = rand([N,1])*2*pi;
Z = sin(X).*cos(Y);
scatter3(X,Y,Z,'.')
T = delaunay(X,Y)
hold on
trimesh(T,X,Y,Z,"FaceAlpha",0)
For actual interpolating, look into "scatteredInterpolant"
More Answers (0)
See Also
Categories
Find more on Surface and Mesh 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!