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!

Antworten (1)

Benjamin Kraus
Benjamin Kraus am 19 Sep. 2022

1 Stimme

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(:))

Kategorien

Mehr zu Geographic Plots finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2022a

Gefragt:

am 19 Sep. 2022

Beantwortet:

am 19 Sep. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by