Plot only certain contours

33 views (last 30 days)
William White
William White on 1 Feb 2018
Commented: Matt J on 1 Feb 2018
Sirs, I am plotting a contour plot of data
contourf(X,Y,Z)
Say the values of Z range from 0 to 100 (or say, -100 to 100 for another example).
I can overlay the contour values
hold on
[C,h] = contour(X,Y,Z);
clabel(C,h)
Is it possible to only plot the entire contourf(X,Y,Z) so it is a full contour map
but then only plot the iso-contour lines for particular values?
So, I might want to over-plot only the isocontour that has value 20?
Or, more usefully, say, 20,30 and 40?
kind regards

Accepted Answer

Matt J
Matt J on 1 Feb 2018
Edited: Matt J on 1 Feb 2018
From the doc:
contourf(Z,v) draws a filled contour plot of matrix Z with contour lines at the data values specified in the monotonically increasing vector v. To display a single contour line at a particular value, define v as a two-element vector with both elements equal to the desired contour level.
Is this not what you want?
  3 Comments
Matt J
Matt J on 1 Feb 2018
Edited: Matt J on 1 Feb 2018
I'm still not sure I see the problem. Why not as follows?
contourf(X,Y,Z)
hold on
[C,h] = contour(X,Y,Z,[20,30,40]);
clabel(C,h)
hold off
Matt J
Matt J on 1 Feb 2018
William White commented:
Hi Matt, I think the problem is that I was unaware that the selected values could be inserted like that! thanks a lot, much appreciated! W

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!