Contourf and colormap limits

557 views (last 30 days)
Tomas Levy
Tomas Levy on 7 Apr 2019
Edited: Cris LaPierre on 17 May 2023
Hi there!
Let's say I want to plot this:
contourf(peaks,16)
caxis([-2 2])
colorbar
Now I get:
But I want to show black contour lines only in the caxis limits AND also the color levels in the same limits, i.e. 16 color levels in [-2 2], not just 6 like in the picture.
Any ideas? Thanks

Accepted Answer

Cris LaPierre
Cris LaPierre on 8 Apr 2019
Edited: Cris LaPierre on 17 May 2023
The problem is your data goes from [-6.5 8]. The 16 contour lines have been drawn for that. Then when you call caxis, you get rid of any color distinction above 2 or below -2 (>2 all have same color, <-2 all have same color). This does not affect where the actual contour lines go, though. Just the range of values used to assign colors.
Instead, specify (in increasing order) the values you want the contour lines at.
Compare the output of these 3 plots
p = peaks;
figure
contourf(p,16)
colorbar
figure
contourf(p,16)
caxis([-2 2])
colorbar
figure
contourf(p,linspace(-2,2,16))
colorbar
I think the last one does what you want.
  10 Comments
Megha Suswaram
Megha Suswaram on 19 Feb 2021
Thank you! That worked super well for me!
Nabin
Nabin on 17 May 2023
Thank you! Worked well for me too!

Sign in to comment.

More Answers (0)

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!