plot 您所在的位置:网站首页 圆的包络线 plot

plot

2023-12-04 17:00| 来源: 网络整理| 查看: 265

-A[m|p|x|y]

修改两点间的连接方式。

地理投影下,两点之间默认沿着大圆弧连接。

-A :忽略当前的投影方式,直接用直线连接两点

-Am :先沿着经线画,再沿着纬线画

-Ap :先沿着纬线画,再沿着经线画

笛卡尔坐标下,两点之间默认用直线连接。

-Ax 先沿着X轴画,再沿着Y轴画

-Ay 先沿着Y轴画,再沿着X轴画

下图中,黑色曲线为默认情况;红线为使用 -A 的效果;蓝线为使用 -Ap 的效果;黄线为使用 -Am 的效果:

Source Code

plot -A选项示意图

注:由于这里投影比较特别,所以沿着经线的线和沿着纬线的线,看上去都是直线,在其他投影方式下可能不会是这样。

-Ccpt

指定CPT文件或颜色列表

该选项后跟一个CPT文件名,使符号和多边形的填充颜色、线段和多边形的线条颜色由 Z 值决定。

若绘制符号(即使用 -S 选项),则符号的填充色由数据的第三列Z值决定,其他数据列依次后移一列。

若绘制线段或多边形(即未使用 -S 选项),则需要在多段数据的数据段头记录中指定 -Zval (参见 数据段头记录中的额外属性 ),CPT文件中 val 所对应的颜色,即为线段或多边形的线条颜色。如果要设置为多边形的填充色,注意应该要额外使用 -L 选项构建闭合多边形。

除此以外,也可以使用 -C,,... 语法在命令行上临时构建一个颜色列表,其中 对应Z值为0的颜色, 对应Z值为1的颜色,依次类推。

下面的例子展示了 -C,.. 用法:

gmt plot -JX10c/10c -R0/10/0/10 -B1 -Cblue,red -W2p -png test -Z0 1 1 2 2 > -Z1 3 3 4 4 EOF -Ddx/dy

设置符号的偏移量。

该选项会将要绘制的符号或线段在给定坐标的基础上偏移 dx/dy 距离。若未指定 dy,则默认 dy*=*dx。

-E[x|y|X|Y][+a][+cl|f][+n][+wcap][+ppen]

绘制误差棒。

默认会绘制X和Y两个方向的误差棒。 x|y 表示只绘制X方向和/或Y方向的误差棒,此时输入数据的格式为(具体格式由选项决定):

X Y [size] [X_error] [Y_error] [others]

例如,X方向误差为1:

echo 5 5 1 | gmt plot -R0/10/0/10 -JX10c/10c -B1 -Sc0.1c -Ex -W2p -png test

X方向误差为1,Y方向误差为0.5:

echo 5 5 1 0.5 | gmt plot -R0/10/0/10 -JX10c/10c -B1 -Sc0.1c -Exy -W2p -png test

使用 +a 表示X方向和/或Y方向为非对称误差棒,此时输入数据的格式为:

X Y [size] [X_left_error X_right_error] [Y_left_error Y_right_error] [others]

例如:

echo 5 5 1 0.4 0.5 0.25 | gmt plot -R0/10/0/10 -JX10c/10c -B1 -Sc0.1c -Exy+a -W2p -png test

使用 X 和 Y 则绘制box-and-whisker(即stem-and-leaf)符号。以 -EX 为例,此时数据数据格式为:

X中位数 Y 0%位数 25%位数 75%位数 100%位数

25%到75%之间的方框内可以用 -G 选项填充颜色:

echo 5 5 4 4.25 5.4 7 | gmt plot -R0/10/0/10 -JX10c/10c -B1 -Sc0.1c -EX -Gred -W2p -png test

若使用 -EXY ,则输入数据中至少需要10列;

若在X或Y后加上了 +n ,则需要在额外的第5列数据指定中位数的不确定性。

+wcap 控制误差棒顶端帽子的长度,默认值为7p

+ppen 控制误差棒的画笔属性,默认值为 defalut,black,solid

在使用 -C 选项时,可以从CPT文件中查找到符号所对应的颜色

+c 表明将颜色应用于符号填充色和误差棒画笔属性

+cf 表明仅将颜色用于填充符号

+cl 表面仅将颜色用于设置误差棒画笔属性,并关闭符号填充色

-F[c|n|r][a|f|s|r|refpoint]

修改数据点的分组和连接方式。

数据的分组方式有三种:

a 忽略所有数据段头记录,即将所有文件内的所有数据点作为一个单独的组,并将第一个文件的第一个数据点作为该组的参考点

f 将每个文件内的所有点分在一个组,并将每一组内的第一个点作为该组的参考点

s 每段数据内的点作为一组,并将每段数据的第一个点作为该组的参考点

r 每段数据内的点作为一组,并将每段数据的第一个点作为该组的参考点,每次连线后将前一个点作为新的参考点,该选项仅与 -Fr 连用(似乎与 -Fcs 等效?)

refpoint 指定某个点为所有组共同的参考点

在确定分组后,还可以额外定义组内各点的连接方式:

c 将组内的点连接成连续的线段

r 将组内的所有点与组内的参考点连线

n 将每个组内的所有点互相连线

在不使用 -F 选项的情况下,默认值为 -Fcs 。该选项的具体示例在后面给出。

-Gfill

设置符号或多边形的填充色。多段数据中数据段头记录中的 -G 选项会覆盖命令行中的设置。

-Iintens

模拟光照效果

的取值范围为-1到1,用于对填充色做微调以模拟光照效果。正值表示亮色,负值表示暗色,零表示原色。

-L[+b|d|D][+xl|r|x0][+yb|t|y0][+ppen]

将第一个和最后一个数据点连接起来。

plot 在绘制线条时,默认只将输入文本中相邻的数据点用线条连接起来。使用 -L 选项后,plot 会额外地再将第一个和最后一个数据点连接起来,形成封闭的图形。如果第一个和最后一个数据点的连线和其它连线交叉,就会形成不止一个封闭图形。 -L 选项常常和 -G 选项同时使用以进行颜色填充。下面看不同搭配的画图效果:

#!/usr/bin/env bash cat t.txt 1 1 2 3 3 2 4 4 EOF cmd='t.txt -R0/5/0/5 -JX4c -W1p -Ba1f1' gmt begin plot_-L_1 gmt plot $cmd -BWStr+t'No -G or -L' gmt plot $cmd -BWStr+t'-G Only' -Gorange -X5c # -L选项中的+p子选项对画笔的外观设置一律无效 # 没有-G选项时,使用-L选项必须使用+p子选项,但相关设置无效 gmt plot $cmd -BWStr+t'-L Only' -L+p10p,blue -X5c gmt plot $cmd -BWStr+t'both -G and -L' -Gorange -L+p10p,blue -X5c gmt end show rm t.txt

-L 和 -G 选项不同搭配方式的效果

-L 选项还可以绘制两类包络:一类是围绕线条的包络,另一类是到指定位置的包络。首先来看围绕线条的包络:

+d 围绕线条绘制对称的包络,包络相对于线条的y轴幅度由数据文件内的第三列给出

+D 围绕线条绘制不对称的包络,包络相对于线条的y轴幅度由数据文件内的第三、四列给出

+b 围绕线条绘制不对称的包络,包络的y轴范围由数据文件内的第三、四列给出

下面的例子分别绘制了上述三种情形。第一幅图使用 +d 选项,数据的第三列分别是2、2、3和1,所以包络的上下范围在线条的每一个数据点处距离线条的距离就是2、2、3和1。第二幅图使用 +D 选项,数据的第三列分别是2、2、3和1,所以包络的下范围在线条的每一个数据点处距离线条的距离就是2、2、3和1,也就是和第一幅图完全相同。但是,上范围的距离使用的是数据文件的第四列,也就是4、3、2和1。第三幅图使用 +b 选项,包络的范围与线条的位置无关。第三、四列数据分别决定了包络的上下范围。当第三、四列数据交叉的时候,包络图形随之出现打结的现象。

#!/usr/bin/env bash cat t.txt 1 1 2 4 2 3 2 3 3 2 3 2 4 4 1 1 EOF cmd='t.txt -R0/5/-2/8 -JX5c -W2p -Ba1f1 -Glightred' gmt begin plot_-L_2 gmt plot $cmd -BWStr+t"-L\053d" -L+d gmt plot $cmd -BWStr+t"-L\053D" -L+D -X6c gmt plot $cmd -BWStr+t"-L\053b" -L+b -X6c gmt end show rm t.txt

围绕线条的包络

再来看指定位置的包络:

+xl|r|x0 包络范围是从线条到线条的点的x轴最小、大值和固定值

+yb|t|y0 包络范围是从线条到线条的点的y轴最小、大值和固定值

例子如下:

#!/usr/bin/env bash cat t.txt 1 1 2 3 3 2 4 4 EOF cmd='t.txt -R0/5/0/5 -JX5c -W2p -Ba1f1 -Glightred' gmt begin plot_-L_3 gmt plot $cmd -BWStr+t"-L\053xl" -L+xl gmt plot $cmd -BWStr+t"-L\053xr" -L+xr -X6c gmt plot $cmd -BWStr+t"-L\053x4.5" -L+x4.5 -X6c gmt plot $cmd -BWStr+t"-L\053yt" -L+yt -X-12c -Y6.5c gmt plot $cmd -BWStr+t"-L\053yb" -L+yb -X6c gmt plot $cmd -BWStr+t"-L\053y4" -L+y4 -X6c gmt end show rm t.txt

到指定位置的包络

-N[c|r]

区域范围外的符号不会被裁剪,而会被正常绘制。

默认情况下,位于 -R 范围外的符号不会被绘制的。使用该选项使得即便符号的坐标位于 -R 指定的范围外,也会被绘制。需要注意的是,该选项对线段或多边形无效,线段和多边形总会被区域的范围裁剪。

对于存在周期性的地图而言,若符号出现在重复边界上,则会被重复绘制两次。比如:

gmt plot -R0/360/-60/60 -JM10c -Bx60 -By15 -Sc2c -png test


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有