Contour map fills outside data points

조회 수: 6 (최근 30일)
Nick
Nick 2013년 9월 9일
Hello all,
I'm attempting to plot 3 vectors of data using contourf. So far, I am using the code below to generate the snap shot attached. As you can see, using this method creates a filled area above the data set as it tries to "connect the dots". Is there a way to prevent this from happening? That is, is it possible to only have the white space above the black line?
x = xData;
y = yData;
z = zData;
xlin = linspace(0,max(x),length(x));
ylin = linspace(0,max(y),length(y));
[X,Y] = meshgrid(xlin,ylin);
Z = griddata(x,y,z,X,Y);
figure
[~,~] = contourf(X,Y,Z);
colormap cool
colorbar
grid on
% Overlay Max Curve
x = xDataMaxSubset;
y = yDataMaxSubset;
hold on
plot(x,y,'LineWidth',2,'Color',[0 0 0])
hold off
% Overlay All pts
x = xData;
y = yData;
hold on
scatter(x,y,10)
hold off

채택된 답변

Nick
Nick 2013년 9월 9일
For anyone looking for a solution to a similar problem, this is the workaround I've settled on:
First create additional data points that are 1.1 times the x and y data max subset (just "outside" the original max subset), and fill the corresponding z points with NaN values. Add these x,y,and z pts to the original data sets to be plotted. This will at least prevent the area above the max line from being filled in, though it also makes the fill contour around the max line very choppy. To get around this, add in additional data points along the max line using interpolation until the contour plot looks acceptable.
Cheers!

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Contour Plots에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by