一般而言,matlab绘制地理底图需要额外添加工具包,本文中使用的代码需要提前安装好m_map工具包。本例将以非洲维多利亚湖泊为例,绘制水储量的时间变化,并在原图中插入子图,添加箭头。

主要代码

h1=axes('Position',[0.1 0.1 0.8 0.8])
plot(jgc_tt2(1:163),CSR_rg2(1:163),'*--','color',[0.8 0.5 0.9],'LineWidth',1)
hold on
plot(jgc_tt2(164:207),CSR_rg2(164:207),'*--','color',[0.8 0.1 0.9],'LineWidth',1)

plot(jgc_tt_0(1:163),CSR_rg_0(1:163),'+--','color',[0.2 0.5 0.9],'LineWidth',1)
plot(jgc_tt_fo,CSR_rg_fo,'+--','color',[0.2 0.1 0.9],'LineWidth',1)

x1 = [2.017441095890411e+03,2.018456164383562e+03];
x2 = [2.017441095890411e+03,2.018456164383562e+03];
y1 = [-40,-40];
y2 = [60,60];
hold on
[h,xx,yy]=fill_line(x1,y1,x2,y2)
xlim([2002,2022.5])
ylim([-20,60])
grid on
set(gca, 'GridLineStyle', ':');  % 设置为虚线
dimen = [0.27 .75 .11 -.15];
a = annotation('arrow','Position',dimen)
tex = text(2009.3,54,'Lake Victoria','FontSize',14,'Color','r')
xlabel('Year')
ylabel('EWH/cm')

ax2=axes('Position',[0.1 0.58 0.3 0.3])
% m_proj('miller','lat',[-7 10],'long',[24,40]);
% % m_grid('xtick',12,'tickdir','out','ytick',[],'linest',':','xaxisloc','top');   
% m_grid('box','fancy','tickdir','in');
% hold on
% 
% m_pcolor(wzq0911.lon,wzq0911.lat,wzq0911.rg);shading flat;colormap(jet);
% m_coast;
% caxis([-10,10])
% Plot a circular orbit
lon=[-180:180];
lat=atan(tan(60*pi/180)*cos((lon-30)*pi/180))*180/pi;
m_proj('ortho','lat',-10','long',20');
m_coast('patch','y');
m_grid('linest','-','xticklabels',[],'yticklabels',[]);

ax2=axes('Position',[0.38 0.6 0.2 0.2])

lake = load('lake.txt');
plot(lake(:,1),lake(:,2))
xlim([25,40])
ylim([-10,8])
grid on
set(gca, 'GridLineStyle', ':');  % 设置为虚线




其中的fill_line为填充函数:

function [h,xx,yy]=fill_line(x1,y1,x2,y2)
x1=x1(:);
y1=y1(:);
x2=x2(:);
y2=y2(:);
xx=[x1;x2(end:-1:1)];
yy=[y1;y2(end:-1:1)];
h=fill(xx,yy,'b','FaceAlpha',0.3);
set(h,'FaceColor','r','edgecolor',[1,1,1])

运行结果

 参考资料:

1.如何用Matlab画图中图 – MATLAB中文论坛 (ilovematlab.cn)

2.M_Map: A Mapping package for Matlab (ubc.ca)

3.MATLAB 绘制箭头 | D栈 - Delft Stack

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐