MATLAB绘制SOI指数

使用MATLAB绘制SOI(南方涛动指数)图

对于做气候变化和海洋的同学来说,ENSO等指标对我们来说是必备基础参数,下面就简单

介绍下如何用matlab绘制SOI指数图件。

1,下载相关的SOI数据

这个可以去下面网站进行数据的下载,并将数据保存在Excel表格中

https://climatedataguide.ucar.edu/climate-data/southern-oscillation-indices-signal-noise-and-tahitidarwin-slp-soi

进入网站,点击获得数据,就可以下载相应的数据,如下图

在这里插入图片描述
Excel里面的数据如下
在这里插入图片描述
2,绘图,代码如下

clc;
clear;
close;
%% 绘制第一张子图————SOI指数

%% 读取SOI数据
filename='C:\Users\huain\Desktop\SOI.xlsx';``
data=xlsread(filename,'Sheet1');%读取SOI.xls,`
A=data(1:71,2:13);
A=A';%转置
Y=reshape(A,852,1);%数据拼接,用到函数reshape

%% 绘图

x=linspace(1951,2021,852);%生成间距线性矢量,用到函数linspace
y1=Y;
y2=Y;
y1(Y<0)=0;%把负值部分归零
y2(Y>0)=0;%把正值部分归零
area(x,y1,'FaceColor','r');%填充小于零的部分绘制面积为蓝色
hold on;%添加新绘图时保留当前绘图
area(x,y2,'FaceColor','b');%大于零的部分绘制面积为红色
grid on;%为图形添加网格线
axis([1951,2021,-5,5]);%给定纵横坐标轴的范围
xticks(1951:5:2021);%x轴范围和间距,每五年显示一个,用到函数xticks

%% 添加坐标轴标题
xlabel('YEAR') ;%横坐标标题
ylabel('SOI Index');%纵坐标标题
title('');%图标题,省略
line([1951,2021],[0,0],'linestyle','- -','color','k');

3,最后就绘制出如下图件
在这里插入图片描述
当然还可以用其它的绘图软件绘制,Excel也可以,这个只是用来学习MATLAB操作的。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值