MATLAB Answers

Contour Plot gives error

5 views (last 30 days)
Muhammad Qaisar Fahim
Muhammad Qaisar Fahim on 25 Sep 2021
Commented: Walter Roberson on 25 Sep 2021 at 17:10
figure
x = ICE_m_f_dot_map_temp_w; % 1*140 array of values
y = ICE_m_f_dot_map_temp_T; % 1*140 array of values
[X,Y]=meshgrid(x,y);
z = ICE_m_f_dot_map_temp; % 1*140 array of values
contour3(X,Y,z)
With the above code I am trying to plot contours but I recieve this error.
Error using contour3 (line 44)
Z must be at least a 2x2 matrix.
Error in ME7384AU21_Fahim_HW2 (line 97)
contour3(X,Y,z)

Answers (2)

KSSV
KSSV on 25 Sep 2021
You cannot use contour with column data. You can use scatter to plot data or if your data is gridded consider using griddata or reshaping the data as shown in the blow link:
  2 Comments
KSSV
KSSV on 25 Sep 2021
I have given a link. Read that.

Sign in to comment.


Walter Roberson
Walter Roberson on 25 Sep 2021 at 9:00
N = 200; %grid refinement
x = ICE_m_f_dot_map_temp_w; % 1*140 array of values
y = ICE_m_f_dot_map_temp_T; % 1*140 array of values
z = ICE_m_f_dot_map_temp; % 1*140 array of values
minx = min(x); maxx = max(x);
miny = min(y); maxy = max(y);
[X, Y] = meshgrid(linspace(minx, maxx, N), linspace(miny, maxy, N));
F = scatteredInterpolant(x(:), y(:), z(:));
Z = F(X, Y);
contour3(X, Y, Z);
  2 Comments
Walter Roberson
Walter Roberson on 25 Sep 2021 at 17:10
Your original code uses contour3 which is for 3d representation. If you want 2d then use contour() or contourf instead.

Sign in to comment.

Products


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!