文档

产生一个color-scaled横断面图的海洋数据收集CTD数据文件在不同的位置和/或时间。

参见:transectc

回到气候数据工具的内容

内容

语法

横断面(x, d, v)横断面(…,“LineProperty”,价值)横断面(…,“床”,BedDepth)横断面(…,bedcolor, ColorSpec)横断面(…,extrap)横断面(…,“插值函数”,“InterpMethod)横断面(…,“迪”,di)横断面(…,“习”,xi) [h_trans、h_marker h_bed] =横断面(…)

描述

横断面(x, d, v创建一个color-scaled横断面图的变量v在水平位置(或时间)x和深度dx必须是数值型数组的值表示每个CTD剖面的位置或时间。输入dv必须每个细胞数组包含深度和在每个CTD测量位置。(请参阅下面的部分将数据转换为细胞数组)。

横断面(…,“LineProperty”,值)为每个数据集线或标志风格。缺省情况下,每个数据点表示一个黑点,但资料很容易可以表示不同的标记类型或行指定颜色,风格,厚度等。

横断面(…,“床”,BedDepth)指定要创建一个补丁对象床深度指示床上沿横断面轮廓。

横断面(…,bedcolor ColorSpec)指定颜色的床上。默认的bedcolor是黑色的。

横断面(…,“extrap”)打开选项推断范围之外的数据。默认情况下,横断面不浮想联翩,但可用的选项,以填补空白,如最低的数据和海床之间。

横断面(…,插值函数”、“InterpMethod)指定一个插值法(参见后面的一节)的方法。默认是“线性”

横断面(…,“迪”,di)指定插值深处。默认情况下,创建一个网格插值到1000条平行的深度最浅的和最深的测量。

横断面(…,“习”,xi)指定插值位置(或时间)。默认情况下,插入2000条平行的点的最大和最小值之间x

样[h_trans, h_marker h_bed] = (…)返回句柄的横断面图,标记,和床上的补丁对象。

方法

这个函数插入两个变量创建一个网格的状况v。第一轮从每个CTD剖面同样篡改数据,间隔的深处。第二轮插入水平条平行的位置或时间。默认情况下,插入都是线性和不执行外推。

例子

下面的例子使用一些Argo数据,您可以加载这样的:

负载example_ctd%显示每个变量的名称和大小
类属性名称大小字节x95 P 25152细胞1 x95 25152细胞x95 25152 T细胞床1 x95 760双x 1 x95 760双

Argo数据包含95档案作为浮动漂流。每个概要文件是在一个位置x,给出了相应的床深处床上和温度T和盐度年代在细胞阵列在相应的压力吗P

示例1:简单的形式

这是一个简单的横断面温度数据T在位置x和深度P:

横断面(x P T)包含沿横断面的距离(公里)ylabel“压力(dbar)”

示例2:指定测量标记:

同上,但这一次使标记小灰点:

横断面(x P T,“颜色”rgb (“灰色”),“markersize”,2)包含沿横断面的距离(公里)ylabel“压力(dbar)”

或相反的标记,你可以让每个概要文件一行。以下资料由红色虚线表示:

横断面(x P T,“标记”,“没有”,“线型”,“——”,“颜色”,“r”)包含沿横断面的距离(公里)ylabel“压力(dbar)”

示例4:显示了床上

向床上,只要输入相应床深处x值:

横断面(x P T,“床上”、床)包含沿横断面的距离(公里)ylabel“压力(dbar)”

颜色床布朗布朗通过指定的RGB值。如果你不知道头顶的RGB值,就使用rgb功能:

横断面(x P T,“床上”、床、“bedcolor”rgb (“棕色”)包含沿横断面的距离(公里)ylabel“压力(dbar)”

示例5:填补空白

不喜欢那些床上的最低数据之间的差距吗?之间的差距在地表附近或在上面的配置文件?这个函数允许您推断除了底层数据值如果愿意,通过指定“extrap”:

横断面(x P T,“床上”、床、“extrap”)包含沿横断面的距离(公里)ylabel“压力(dbar)”caxis ([-1.9 - 0.9])%设置颜色轴的限制

请记住,它可能不是合适的浮想联翩,取决于您的应用程序。还要注意,推断地方海床以下较低的左手角落里产生一些非常高温值,所以我们必须设置轴匹配实际的海洋颜色值。

示例6:扩展域

你想扩展域有点超出了底层数据的范围?数据从0到108公里。每一方通过指定上添加5公里“十一”相应的值:

% 5之间插入每0.1公里和113公里:ξ= 5:0.1:113;横断面(x P T,“extrap”,“十一”xi)包含沿横断面的距离(公里)ylabel“压力(dbar)”caxis ([-1.9 - 0.9])%设置颜色轴的限制

时要小心扩展域太过去underying数据。我们只能推断过去的数据在上面的示例中,和边缘已经有点靠不住的。尝试将超过5公里,你会真正看到一些古怪的东西。

示例7:让它华丽的

结合上面的选项来小灰点标记在每一个测量,包括床上配置文件,并设置colormapcmocean:

横断面(x P T,“颜色”rgb (“灰色”),%灰色标记“markersize”2,%小点“床上”、床、%海底海拔“extrap”)caxis ([-1.9 - 0.9])%设置颜色轴的限制包含沿横断面的距离(公里)ylabel“压力(dbar)”cmocean%设置colormapcb = colorbar;ylabel (cb、“温度\ circC”)

为盐度使用添加白色的轮廓transectc功能:

持有[C, h] = transectc (x, P, S,' w ');

或标签:

删除(h)%从上面删除轮廓[C, h] = transectc (x, P, S,' w ',“ShowText”,“上”,“LabelSpacing”,1000);

添加你最喜欢的盐度轮廓,让它淡绿色:

[C, h] = transectc (x, P, S, [34.5 - 34.5]);h。颜色= rgb (淡绿色的);h。线宽= 3;
清晰的%以下示例之前清除以前的数据

ODV文本数据转换成一个细胞数组

对于这个示例,我们将使用巡航一些数据保存为. txt文件的海洋数据查看器。CDT提供的数据是海洋剖面数据的一个子集从巡航南极洲海岸的2005/2005。完整的数据集描述澳大利亚南极数据中心的网站在这里,但我们只会使用CDT的子集作为一个例子文件。

首先加载示例数据:

D = importdata (“BROKE_cruise_odv.txt”)
D =结构体字段:数据:[9220×7双]textdata: {Stn的“纬度”“朗”“公关”' T ' S“氧气”}colheaders: {Stn的“纬度”“朗”“公关”' T ' S“氧气”}

数据字段包含7列,对应:

  1. 站数量
  2. 纬度
  3. 经度
  4. 压力
  5. 温度
  6. 盐度
  7. 氧气

如果你打开BROKE_cruise_odv。txt文件,您将看到第一列包含数字103,重复668次。这是因为站103包含668温度、盐度、和氧测量,每个不同的压力(深度)。低于668行数据对应站103年,有584行对应站104年,等等。总共有16个独特,每一个都有不同的数据的行数。

创建一个16 x1stn数组包含16个独特站数量随着行指数将让我们得到这些站的位置:

%惟一的站号:[stn,印第安纳州]=独特(D.data (: 1));

与指数印第安纳州对应于每个站,每个站的16个位置,因为纬度和经度的第二和第三列D.data:

lat = D.data(印第安纳州,2);朗= D.data(印第安纳州,3);

船舶greographic跟踪:

图轴([10 140 -75 -10)%设置轴的限制earthimage举行情节(经度、纬度、“。”,“颜色”rgb (“橙”)包含“经”ylabel“纬度”

放大图,每个CTD车站编号103到118年。

文本(经度、纬度、num2str (stn),%标签每个车站“字形大小”9“颜色”rgb (“橙”)轴([65 95 -70 -59)%设置轴的限制

把所有的测量到细胞阵列,遍历每一个独特的车站,找到相关的所有行indicies每站数量,如下:

k = 1:16%得到指数站对应stn (k):印第安纳州= D.data (: 1) = = stn (k);%施加压力,温度等的站到细胞数组:公关{k} = D.data(印第安纳州,4);T {k} = D.data(印第安纳州,5);年代{k} = D.data(印第安纳州,6);O2 {k} = D.data(印第安纳州7);结束

现在T {1}包含所有的温度测量仪在

stn (1)
ans = 103

…站103号,公关{1}包含相应的压力。

情节一个演员

细胞阵列允许不同大小的数据被存储在一个结构中,每个供演员时很有用的有不同数量的测量,在不同的深度。

考虑到每个单元包含数据从一个独特的连续油管,策划一个相对简单。在这里我们把数据从站110年(stn (8))。温度是绘制在第一(底部)轴,盐度是绘制在第二个(上)轴。

图绘制(T{8},公关{8},“颜色”rgb (“深蓝”甘氨胆酸)ax₁=;集(ax₁,“XColor”rgb (“深蓝”),“YDir”,“反向”);包含(“原位温度”)ylabel (“压力(dbar)”)ax1_pos = ax1.Position;%商店第一轴的位置。ax2 =轴(“位置”ax1_pos,“XAxisLocation”,“高级”,“YAxisLocation”,“对”,“颜色”,“没有”,“XColor”rgb (深红色的),“YTickLabel”[],“YDir”,“反向”);持有情节({8},公关{8},“父”ax2,“颜色”rgb (浅红色的网格)包含(盐度的)

情节多个样条函数

把现在的数据存储在细胞数组和情节的横断面温度和盐度数据。假设每个CTD触底,我们可以使用每个车站的最大压力作为床深度:

%承担最大压力床深度:maxPress = cellfun (@max、公关);样图(lat,公关,T,“颜色”rgb (“灰色”),“标记”,“没有”,“线型”,“——”,“床上”maxPress,“extrap”,“bedcolor”rgb (“木炭”));caxis ([-1.82 - 2.02]) cmocean (“热”)cb = colorbar;ylabel (cb、“原位温度\ circC”)包含“纬度(\ circN)”ylabel“压力(dbar)”%标签车站:文本(lat, 0(大小(lat)), num2str (stn),“绿色”,“底”,%针底部的文本标签“水平的”,“中心”,%中心的标签“字形大小”8“颜色”rgb (“灰色”))

增加温度的轮廓:

持有transectc (lat,公关,T,“k”,“ShowText”,“上”,“LabelSpacing”,1000);

突出了0度等温线和放大前1000名dbar:

transectc (lat,公关T (0 0),“w——”);ylim (1000 [0])

作者信息

这个函数的一部分气候数据为Matlab工具箱。功能和支持文档写的塔斯马尼亚大学的金宝appDavid e . Gwyther和乍得a德克萨斯大学奥斯汀分校的格林。