Effacer les filtres
Effacer les filtres

Threshold contour without changing colormap

2 vues (au cours des 30 derniers jours)
Sylvia
Sylvia le 30 Oct 2015
Commenté : Sylvia le 4 Nov 2015
How can I create a threshold contour without changing an existing colormap? Here is my code:
figure(1)
hold on
m_contourf(lon,lat,(ndustaCNT)',40,'LineStyle','none');
m_contourf(lon,lat,(ndustaCNT)',[0 0],'Color','w');
m_coast('line','Color','k');
m_grid('xtick',10,'tickdir','out','yaxislocation','left','fontsize',10);
c3 = colorbar('WestOutside');
I want to keep the colormap associated with the ndustaCNT matrix but overlay a single white contour where values equal zero. When I add in the second m_contourf line, the colormap changes and I lose all the structure. Thanks for your help. - Sylvia

Réponses (1)

Chad Greene
Chad Greene le 1 Nov 2015
The freezeColors function on file exchange should solve this problem.
figure(1)
hold on
m_contourf(lon,lat,(ndustaCNT)',40,'LineStyle','none');
freezeColors;
m_contourf(lon,lat,(ndustaCNT)',[0 0],'Color','w');
m_coast('line','Color','k');
m_grid('xtick',10,'tickdir','out','yaxislocation','left','fontsize',10);
c3 = colorbar('WestOutside');
  1 commentaire
Sylvia
Sylvia le 4 Nov 2015
Thanks, I've used freezeColors before and it works very well between subplots, but I've never used it within a single subplot. Actually I just used m_contour rather than m_contourf to make this work:
figure(1)
hold on
m_contourf(lon,lat,(ndustaCNT)',40,'LineStyle','none');
m_contour(lon,lat,(ndustaCNT)',[0 0],'Color','w');
m_coast('line','Color','k');
m_grid('xtick',10,'tickdir','out','yaxislocation','left','fontsize',10);
c3 = colorbar('WestOutside');

Connectez-vous pour commenter.

Catégories

En savoir plus sur Colormaps dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by