How do I draw contour?

1 view (last 30 days)
민제 강
민제 강 on 2 Jun 2021
Commented: 민제 강 on 3 Jun 2021
I want to draw a contour for the difference between Y and kriging in Sample.xlsx
Red if the error is big. Blue if the error is small.
As shown in the picture

Accepted Answer

Walter Roberson
Walter Roberson on 2 Jun 2021
Edited: Walter Roberson on 2 Jun 2021
data = readtable('https://www.mathworks.com/matlabcentral/answers/uploaded_files/639450/Sample.xlsx');
ux1 = unique(data.x1);
nx1 = length(ux1);
X1 = reshape(data.x1, [], nx1);
X2 = reshape(data.x2, [], nx1);
Y = reshape(data.Y, [], nx1);
K = reshape(data.Kriging, [], nx1);
kerr = Y - K;
contourf(X1, X2, abs(kerr), 20);
colormap turbo
xlabel('x1')
ylabel('x2')
title('kriging absolute err')
colorbar
You could interpolate to get a smoother looking plot.
N = 200;
F = griddedInterpolant(X1.', X2.', kerr.'); %must be ndgrid format
x1q = linspace(ux1(1), ux1(end), N);
x2q = linspace(min(data.x2), max(data.x2), N+1);
[X1Q, X2Q] = ndgrid(x1q, x2q);
KQ = F(X1Q, X2Q);
%contourf(X1Q, X2Q, abs(KQ), 20)
h = pcolor(X1Q, X2Q, abs(KQ));
h.EdgeColor = 'none';
colormap turbo
xlabel('x1 smoothed')
ylabel('x2 smoothed')
title('smoothed kriging absolute error')
I am not sure where the bright lines are coming from; it is likely to be an artifact as the number of boxes looks to be 1 less than the number of original values in each direction.
  2 Comments
민제 강
민제 강 on 3 Jun 2021
Thank you so much.
I have one more question.
When I put in other experimental values, the right bar (level) value is changed.
Can we fix it?
민제 강
민제 강 on 3 Jun 2021
I found! caxis :)

Sign in to comment.

More Answers (0)

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!