我想在我的pm3d地图上使用splot并添加2D曲线。因此,我使用了几乎可以正常工作的代码。
我对2D线有疑问。
splot 'gnu8' u 2:1:3 w pm3d notitle,\
'' u 2:(-$1):3 w pm3d notitle,\
'allaxi80.005.dat' u 2:1:0 w l lw 3 lc "black" notitle,\
'' u 2:(-$1):0 w l lw 3 lc "black" notitle
这是我的2D线。当我使用情节时,我没有任何问题。
gnuplot> plot 'allaxi80.005.dat' u 2:1 w l, '' u 2:(-$1) w l
现在,我希望使用splot进行相同操作,但是如您所见,我得到了不同的曲线。
gnuplot> splot 'allaxi80.005.dat' u 2:1:0 w l lw 3 lc "black" notitle,\
> '' u 2:(-$1):0 w l lw 3 lc "black" notitle
然后,在知道我的数据是2D的情况下取消设置视图地图。
unset view
我得到这个:
我用 :
G N U P L O T
Version 5.2 patchlevel 2
我的数据文件的一部分:
0 32.0109
0.3125 32.0379
0.3125 32.0376
0.625 32.119
0.625 32.1221
0.78125 32.1835
0.78125 32.1837
0.788924 32.1875
0.790724 32.1875
0.9375 32.2602
0.9375 32.26
0.947399 32.2656
0.945217 32.2656
1.01562 32.3064
1.01562 32.3066
1.07344 32.3438
1.07505 32.3438
1.09375 32.3552
1.09375 32.3554
1.25 32.4697
1.25 32.4708
1.28557 32.5
1.287 32.5
1.40625 32.6034
1.40625 32.6065
1.45767 32.6562
1.46141 32.6562
1.5625 32.7658
1.5625 32.7667
1.60196 32.8125
1.60243 32.8125
1.64062 32.8601
1.64062 32.8613
1.66339 32.8906
1.66505 32.8906
1.71875 32.9636
1.71875 32.9672
1.71984 32.9688
1.7216 32.9688
1.77482 33.0469
1.77503 33.0469
1.79688 33.0805
1.79688 33.0813
1.82527 33.125
1.82647 33.125
1.875 33.2065
1.875 33.2084
1.91838 33.2812
1.91899 33.2812
2.00165 33.4375
2.00201 33.4375
2.03125 33.5005
2.03125 33.5023
2.07369 33.5938
2.07384 33.5938
2.13673 33.75
2.13802 33.75
2.1875 33.9013
2.1875 33.9033
2.18852 33.9062
2.18935 33.9062
2.23597 34.0625
2.23618 34.0625
2.27742 34.2188
2.2774 34.2188
2.31287 34.375
2.3128 34.375
2.34271 34.5312
2.3428 34.5312
2.34375 34.5373
2.34375 34.5384
2.36727 34.6875
2.36713 34.6875
2.38697 34.8438
2.38683 34.8438
2.40246 35
2.40242 35
2.41423 35.1562
2.41422 35.1562
2.42229 35.3125
2.42226 35.3125
2.42668 35.4688
2.42665 35.4688
2.42753 35.625
2.42754 35.625
2.42493 35.7812
2.42491 35.7812
2.41881 35.9375
我的整个档案:
https://github.com/Suntoryy/gnuplot/blob/master/allaxi80.005.dat
实际上,数据总是有帮助的,因为绘制完数据后,我发现了问题所在。对于您的代码,它将伪列0作为z坐标,这基本上是从零开始的行号。检查help pseudocolumns
。
您的代码应如下所示。注意0
in (0)
,这表示0
(不是行号)的常量值。
splot 'allaxi80.005.dat' u 2:1:(0) w l lw 3 lc "black" notitle, \
'' u 2:(-$1):(0) w l lw 3 lc "black" notitle
加法:(在更详细地查看了完整数据之后)
这是解决您问题的最小示例。
plot
因为每两行数据之后就有一条空行。因此,线路将不会连接。但是splot
如果只有一个空行,它将连接数据点。您可以选择:
要么
splot
。代码:(编辑:数据与您的数据更相似)
### plot and splot with non monotonic data
reset session
$Data0 <<EOD
0 0
2 1
6.3 2.3
7 0
1.1 0.9
4 2
3.9 2.3
6 2
EOD
$Data1 <<EOD
0 0
2 1
6.3 2.3
7 0
1.1 0.9
4 2
3.9 2.3
6 2
EOD
$Data2 <<EOD
0 0
2 1
6.3 2.3
7 0
1.1 0.9
4 2
3.9 2.3
6 2
EOD
set offsets 1,1,1,1
set multiplot layout 2,3
plot $Data0 u 1:2 w lp pt 7 ti "0 empty lines"
plot $Data1 u 1:2 w lp pt 7 ti "1 empty lines"
plot $Data2 u 1:2 w lp pt 7 ti "2 empty lines"
splot $Data0 u 1:2:(0) w lp pt 7 ti "0 empty lines"
splot $Data1 u 1:2:(0) w lp pt 7 ti "1 empty lines"
splot $Data2 u 1:2:(0) w lp pt 7 ti "2 empty lines"
unset multiplot
### end of code
结果:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句