How to plot spatial data

6 views (last 30 days)
Matteo Monzali
Matteo Monzali on 19 Sep 2022
Answered: Benjamin Kraus on 19 Sep 2022
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!

Answers (1)

Benjamin Kraus
Benjamin Kraus on 19 Sep 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(:))


Find more on Geographic 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!