样文档
样产生一个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和深度d。x必须是数值型数组的值表示每个CTD剖面的位置或时间。输入d和v必须每个细胞数组包含深度和在每个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列,对应:
- 站数量
- 纬度
- 经度
- 压力
- 温度
- 盐度
- 氧气
如果你打开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德克萨斯大学奥斯汀分校的格林。