How to eliminate transition section in contourf function;

3 views (last 30 days)
The value in yellew is 4, and the value in blue is 1, there are not value between 4 and 1, but the figure by contourf has transition section.

Accepted Answer

Walter Roberson
Walter Roberson on 20 Aug 2023
Contour calculations rely upon the idea that if you have two nearby locations with known values, that at some point between the two locations, the function must have gone through every value between the two known values.
Contour calculations are only suitable for functions that obey the Intermediate Value Theorem https://en.wikipedia.org/wiki/Intermediate_value_theorem
If your array has locations with value 4 and adjacent ones with value 1, and there is no transition area, then your array does not represent a function that is suitable for contour plots. You will need to section the array according to boundaries in which the Intermediate Values do not exist, and contour each section separately.

More Answers (1)

Mrutyunjaya Hiremath
Mrutyunjaya Hiremath on 17 Aug 2023
% Sample data
[X, Y, Z] = peaks(100);
% Create a figure
figure;
% Create a filled contour plot
contourf(X, Y, Z);
% Use a default colormap and display a colorbar
colormap(parula);
colorbar;
% Title
title('Without Modifications');
% Sample data
[X, Y, Z] = peaks(100);
% Define contour levels explicitly
contourLevels = [-7:1:7];
% Create a new figure
figure;
% Create a filled contour plot with specified contour levels and no line style
contourf(X, Y, Z, contourLevels, 'LineStyle', 'none');
% Use a colormap that emphasizes discrete levels and display a colorbar
colormap(jet(length(contourLevels)-1));
colorbar;
% Title
title('With Modifications');

Categories

Find more on Contour Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!