How to plot a pcolor from 3 vectors?

I have 3 vectors that I imported from a text file in a three column format that I cannot change. The columns are latitude, longitude and temperature. I want to plot a 2D map with the temperature as a colorbar. Normally I use:
pcolor(lat,lon,temp), shading 'flat';%pcolor/mesh/surf(X,Y,Z)
But this only works when there is a value for every value of lat and lon; Z is a matrix. The values for lat and lon from my new source are scattered and at random intervals. Any suggestions, please?
Cheers,
Alex

Réponses (1)

KSSV
KSSV le 26 Avr 2017
doc griddata
N = 1000 ;
x = 2*rand(N,1) - 1;
y = 2*rand(N,1) - 1;
z = 2*rand(N,1) - 1;
v = x.^2 + y.^3 - z.^4;
%
d = -1:0.05:1;
[xq,yq,zq] = meshgrid(d,d,0);
% Interpolate the scattered data on the grid. Plot the results.
vq = griddata(x,y,z,v,xq,yq,zq);
plot3(x,y,v,'ro')
hold on
surf(xq,yq,vq)

1 commentaire

Something is the matter with: vq = griddata(x,y,z,v,xq,yq,zq); ??? Error using ==> griddata at 53 XI and YI must be the same size or vectors of different orientations. I am guessing a ' is missing somewhere. For the moment, I am using:
pointsize = 10;
figure, scatter(data(:,1),data(:,2), pointsize, data(:,3))

Connectez-vous pour commenter.

Question posée :

le 25 Avr 2017

Commenté :

le 26 Avr 2017

Community Treasure Hunt

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

Start Hunting!

Translated by