How to plot spatial data

Hi, I would like to plot some spatial data.
In particular, I have three variables,
lat 81x1 single
lon 241x1 single
u 241x81 double
I have another code from a uni course, but the variable dimension where different. So I tried to change it and obtained the code reported.
fig2=figure('units','normalized','outerposition',[0.5 0.5 0.4 0.55]);
hold on
worldmap([double(min(lat)) double(max(lat))], [double(min(lon)) double(max(lon))]);
plot(lat,lon, u)
But I get the error:
Error using plot Vectors must be the same length.
Error in ERA5 (line 22) plot(lat,lon, u)
Could you help me please? Thank you!

Risposte (1)

Benjamin Kraus
Benjamin Kraus il 19 Set 2022
As the error says, lat and lon need to be the same size.
Based on the shape of your variables, I suspect you need to use meshgrid to convert your variables from vectors to matrices. Something like this:
[LAT, LON] = meshgrid(lat, lon);
plot(LAT(:), LON(:), u(:))

Categorie

Prodotti

Release

R2022a

Richiesto:

il 19 Set 2022

Risposto:

il 19 Set 2022

Community Treasure Hunt

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

Start Hunting!

Translated by