How can I make contour lines smoother?

Risposte (3)

The easiest way to do this is to interpolate your data to a higher resolution using an interpolation scheme that will result in smoother transitions between points, such as a spline.
[x,y,z] = peaks(10);
[xnew, ynew] = meshgrid(linspace(-3,3,100));
znew = interp2(x,y,z,xnew,ynew, 'spline');
subplot(2,1,1);
hold on;
scatter(x(:), y(:), [], z(:), 'filled');
contour(x,y,z, -6:7);
subplot(2,1,2);
hold on;
scatter(x(:), y(:), [], z(:), 'filled');
contour(xnew, ynew, znew, -6:7);
Be careful with this, though, since it might introduce some artifacts. Even though it may not be as visually pleasing, the low-res, less-smooth version is a more accurate depiction of the underlying data.
Andrew Reibold
Andrew Reibold il 14 Giu 2013

0 voti

Is it something you can try "binning"?

1 Commento

Sandy
Sandy il 17 Giu 2013
Modificato: Sandy il 17 Giu 2013
Well the data has already been binned (hist3()).

Accedi per commentare.

Image Analyst
Image Analyst il 20 Giu 2013

0 voti

Please post an image or screenshot. For example, one way could be to blur your image with conv2() or imfilter() before you call contour().

Categorie

Richiesto:

il 14 Giu 2013

Commentato:

il 3 Apr 2017

Community Treasure Hunt

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

Start Hunting!

Translated by