# Plot 4d Using meshgrid

28 views (last 30 days)
Commented: alok dhaundiyal on 18 Nov 2020
Dear, could someone help me please?
I have a file with 4 column.
I would like plot a graphic 4D, where the axis x, y and z are the column from 1 to 3, respectively, and the color code is the column 4.
I built a graphic, is attached, but I would like make a surface. I read it is possible using mesh comand. But I could not.

Soham Chakraborty on 21 Oct 2019
Hi,
As per my understanding you are able to create a 3-D plot. However, you need guidance in representating an additional column of data using color codes. The above requirement can be sovled using 'mesh' or 'surf' command (for creating mesh or surface plot).
[X,Y] = meshgrid(-8:.5:8);
Z = sin(X) + cos(Y);
C = X.*Y;
mesh(X,Y,Z,C);
or
[X,Y] = meshgrid(-8:.5:8);
Z = sin(X) + cos(Y);
C = X.*Y;
surf(X,Y,Z,C);
alok dhaundiyal on 18 Nov 2020
incorrect

Edited: Leonardo Barbosa Torres dos Santos on 24 Oct 2019
Dear, I tried use your sugestion. But the matlab show me an error:
"Error using mesh (line 71)
Z must be a matrix, not a scalar or vector."
The z-axis is the third column of my file. I believed that it was a matrix with n lines and 1 column and not a vector or scalar.
Below I am puting my code to you see. Could you help me ? Because I don't know how solve it.
clc,clear all,format long
long = point(:,1); % longitude data
lat = point(:,2); % latitude data
rural = point(:,3); % percent rural data
fatalities = point(:,4); % fatalities data
xlabel('\Phi [deg]')
zlabel('k')
xlim([0 75])
ylim([0.5 0.9])
zlim([1 9])
mesh(long,lat,rural,fatalities);