# how to plot Contour Plot?

4 views (last 30 days)
Radhika Kulkarni on 15 Dec 2019
Commented: Star Strider on 15 Dec 2019
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?

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.
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.