MATLAB Answers

how to plot Contour Plot?

4 views (last 30 days)
I have 3 variables data in xls file. I want to plot contour plot of one variable against other 2 variables on x and y axis. How do I do this?

Accepted Answer

Star Strider
Star Strider on 15 Dec 2019
I assume your variables are vectors. If they are gridded, it is only necessary to use the reshape function to form them into matrices.
If they are not gridded, something like this will work:
x = rand(20, 1);
y = rand(20, 1);
z = rand(20, 1);
xv = linspace(min(x), max(x), 50);
yv = linspace(min(y), max(y), 50);
[X,Y] = ndgrid(xv, yv);
Z = griddata(x, y, z, X, Y);
figure
contourf(X, Y, Z)
Experiment to get the result you want.
  4 Comments
Star Strider
Star Strider on 15 Dec 2019
If you know the values you want for the contours, the easiest way is to specify them in a vector as the fourth argument to contourf:
x = rand(20, 1);
y = rand(20, 1);
z = rand(20, 1)*100;
xv = linspace(min(x), max(x), 50);
yv = linspace(min(y), max(y), 50);
[X,Y] = ndgrid(xv, yv);
Z = griddata(x, y, z, X, Y);
colorcol = linspace(0.1, 0.9, 10); % Define Number Of Intensities (Here 10)
cmap = zeros(numel(colorcol), 3); % Define ‘colormap’ Here
cmap(:,2) = colorcol(:); % Choose Green ([R G B])
figure
contourf(X, Y, Z, [20 40 60 80], 'ShowText','on')
colormap(cmap)
Here the plot shows only the contours at [20 40 60 80]. Specify whatever values you want.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by