How to remove contour line in filled contour plot?
63 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
采纳的回答
DGM
2021-8-31
编辑:DGM
2021-8-31
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 个评论
DGM
2021-8-31
编辑:DGM
2021-8-31
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:
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!