Effacer les filtres
Effacer les filtres

How to remove contour line in filled contour plot?

81 vues (au cours des 30 derniers jours)
UTKARSH VERMA
UTKARSH VERMA le 31 Août 2021
Commenté : UTKARSH VERMA le 1 Sep 2021
Hi all,
I am plotting a data using contourf but the there is a contour line between the start and end value color even after using the
contourf(x,y,z,'LineStyle','none','linecolor','none')
%or
contourf(x,y,z,'LineStyle','none')
%or
contourf(x,y,z,'linecolor','none')
For example in the attached figure there is a line between dark blue and dark red.
Also, I have tried different colormap but the result is same.

Réponse acceptée

DGM
DGM le 31 Août 2021
Modifié(e) : DGM le 31 Août 2021
Hmm. I didn't think about that. I don't know that it can be done with contourf().
% make a simple linear ramp that cycles
[xx yy] = meshgrid(1:100);
zz = xx;
zz = circshift(zz,[0 -30]);
% this is what happens with contourf()
[~,h] = contourf(xx,yy,zz,9,'linecolor','none');
colormap(jet)
colorbar
% let's try to replicate it with pcolor()
clf; pcolor(xx,yy,zz);
colormap(jet(10)) % set length to number of levels+1
colorbar
shading flat
That's about right. I think it makes the colorbar easier to read anyway.
  3 commentaires
DGM
DGM le 31 Août 2021
Modifié(e) : DGM le 31 Août 2021
Don't use shading interp. When you use shading interp, it will interpolate between the endpoints. It's helpful to understand that what you're looking at with pcolor() is essentially a top-down view of a surf() plot. Note how it interpolates between the maximal values and the minimal values at those boundaries. That transition is steep, but it's not perfectly vertical -- and so all those colors are visible in a narrow line.
Using shading flat doesn't do that:
and so those transition slopes don't show up:
UTKARSH VERMA
UTKARSH VERMA le 1 Sep 2021
Thanks DGM!!
It worked perfectly.

Connectez-vous pour commenter.

Plus de réponses (1)

KSSV
KSSV le 31 Août 2021
Try:
pcolor(x,y,z) ;
colorbar ;
shading interp ;
  1 commentaire
UTKARSH VERMA
UTKARSH VERMA le 31 Août 2021
Hi KSSV,
I tried your suggestion but same problem.
So, I have attached my data and here is the code I am using:
contourf(d{1},d{2},d{3}','LineStyle','none')
ylim([0 38]);
xlim([65 98]);
yticks([0:5:38]);
xticks([65:05:98]);
colormap(hsv) %or use jet
colorbar

Connectez-vous pour commenter.

Catégories

En savoir plus sur Contour Plots dans Help Center et File Exchange

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by