我们承认我有2个强制参数列X和Y,并且对于每对(X,Y),我有条件,如果它被尊重Z = 1,否则Z = 0。 我最终得到像
这样的东西 X Y Z
5 0.1 1
5 0.5 1
5 0.9 1
10 0.1 1
10 0.5 0
10 0.9 0
(有更多数据X:[5:25]和Y:[0:0.9])。我想要的是参数空间(X,Y)中的两个分离区域,其中Z = 0且Z = 1。我想我不能使用' contour'因为Z值只能是0或1,并且两个区域之间的边界不能用特定的Z值定义。 如果我只绘制Z = 1的值,我得到类似的东西:
如果任何人只想让轮廓分开这两个区域,我很乐意听到它......
谢谢!
答案 0 :(得分:0)
我认为contour
战略不一定是“注定要失败”。这取决于你想要如何定义你感兴趣的“边界”。下面的例子计算一个对应于等级1的轮廓,并将结果与原始点一起绘制(我生成的点或多或少类似于你的数据)。或者,您可以例如计算(使用外部工具)Z = 0的点的凸包并绘制此图。
fName = 'pnts.dat'
tName = 'contours.dat'
set view map
set contour
unset surface
set cntrparam linear
set cntrparam levels discrete 1
set xr [0:0.9]
set yr [5:25]
set isosamples 1000,1000
set table tName
splot fName
unset table
unset contour
set terminal pngcairo
set output 'fig.png'
unset key
p \
tName w l lw 4 lc rgb '#666666', \
fName u 1:($3==1?$2:1/0) w p ps 0.5 pt 7 lc rgb 'red'