Contourf is plotting weird lines. How to remove them?
Show older comments
Hi,
I'm using hist3 to get bin centers and the elements in each bin. After this I use contourf to plot the data. Unfortunatelly the outputed contour figure has small vertical and horizointal black lines that don't seem to make sense. Please see lines inside red circles for examples:
My code is as follows:
edges = {0:0.2:13 0:0.2:13}; % edges for hist3
insetPos = [.52 .53 .35 .35];
[n,c] = hist3(X,'edges',edges);
figure
heatmap(n) % FEX
% contourmap
axes('Position',insetPos)
box on
contourf(c{1},c{2},n)
I belive the black lines are part of the contour lines, yet they appear where there are no boundries. If I remove the contour lines they also go away.
contourf(c{1},c{2},n,'LineColor','none') % no contour lines
Any tip on how I could keep the contour lines without drawing the "intruding" lines?
Accepted Answer
More Answers (2)
Walter Roberson
on 22 May 2020
0 votes
Look at n(24,9) and see that it is 1 there, corresponding to x=1.7, y=4.7; n(23,9) is also 1. That is an island of two 1's surrounded by 0's. With the contour levels happening to correspond to the integers, there should be an island there.
spy(n) and you will see there are a number of small islands.
2 Comments
Walter Roberson
on 23 May 2020
if you take
n.*bwareafilt(n>0,[SIZE, inf])
then it would filter out islands smaller than SIZE pixels
MDias
on 23 May 2020
Categories
Find more on Contour Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
