MATLAB Answers

Contour plots with irregular grids

58 views (last 30 days)
CAL on 28 Oct 2020
Commented: CAL on 2 Nov 2020
I am trying to create a filled contour plot with my x axis(first column), y axis(second column), and temperature(third column) data. I tried plotting it using griddata but it interpolates my data incorrectly. Is there any way I can plot the contour plots? I have attached my data for the coordinates and temperature and a figure of the contour of how it should look like.
Thank you.

Accepted Answer

Akira Agata
Akira Agata on 28 Oct 2020
How about the following?
% Read data file
tData = readtable('data.xlsx');
tData.Properties.VariableNames = {'x','y','TEMP'};
% Apply interpolation
[x1,y1] = meshgrid(-0.045:0.00005:-0.02, 0.01:0.00005:0.035);
z1 = griddata(tData.x, tData.y, tData.TEMP, x1, y1);
% Set the TEMPs outside the measured area to NaN
k = boundary(tData.x, tData.y, 1);
pgon = polyshape(tData.x(k), tData.y(k),'Simplify',false);
idx = isinterior(pgon,x1(:),y1(:));
idx = reshape(idx,size(x1));
z1(~idx) = nan;
% Show the result
caxis([-50 441]);
axis equal
xlabel('x, (mm)')
ylabel('y, (mm)')
title('temperature(C)@213k800ms contour plot')
  1 Comment
CAL on 2 Nov 2020
Thank you very much for the solution and have a good day!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by