How to plot an array of 4 columns?
3 views (last 30 days)
Show older comments
Hello,
I have an array of four columns: X,Y,Z,A.
I need to visualize this data.
I tried surf3 and plot3 but it seems that the data I have is not in the right format for this function.
I suspect A is going to be a color, but I am not sure how to do it
Thanks
Accepted Answer
Star Strider
on 5 Dec 2024
I wrote this to solve a similar problem. The original problem was to create a surf plot to match a scatter plot.
Try this —
N1 = 100;
x = randn(N1,1);
y = randn(N1,1);
z = randn(N1,1);
c = 10*rand(size(z));
figure
stem3(x, y, z)
hold on
scatter3(x, y, z, 100, c, 'filled')
hold off
CL = clim;
colormap(turbo)
xlabel('X')
ylabel('Y')
zlabel('Z')
Zfcn = scatteredInterpolant(x, y, z, 'natural','none');
Cfcn = scatteredInterpolant(x, y, c, 'natural','none');
N = 150;
xv = linspace(min(x), max(x), N);
yv = linspace(min(y), max(y), N);
[Xm,Ym] = ndgrid(xv, yv);
Zm = Zfcn(Xm, Ym);
Cm = Cfcn(Xm, Ym);
figure
surfc(Xm, Ym, Zm, Cm, 'EdgeColor','interp')
clim(CL)
colormap(turbo)
xlabel('X')
ylabel('Y')
zlabel('Z')
The apparently random colours match in both.
.
2 Comments
Star Strider
on 5 Dec 2024
My pleasure!
Please follow up with results, and consider uploading your data here (use the ‘paperclip’ icon in the top toolstrip).
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!