Gnuplot 使用直线打印时的Splot行为
我最近偶然发现了一个Gnuplot产生(至少对我来说)意外结果的例子,所以我想知道它是否真的是期望的行为。设置如下所示:Gnuplot 使用直线打印时的Splot行为,gnuplot,Gnuplot,我最近偶然发现了一个Gnuplot产生(至少对我来说)意外结果的例子,所以我想知道它是否真的是期望的行为。设置如下所示: set terminal pngcairo set output plot3d?"plot1.png":"plot0.png" unset key set xtics nomirror set ytics nomirror set xr [0.5:2.5] set yr [-0.5:4.5] set multiplot layout 1,2 $data0 <<
set terminal pngcairo
set output plot3d?"plot1.png":"plot0.png"
unset key
set xtics nomirror
set ytics nomirror
set xr [0.5:2.5]
set yr [-0.5:4.5]
set multiplot layout 1,2
$data0 << EOD
1 2 1
2 4 1
1 3 1
1 0 1
2 2 1
1 1 1
EOD
$data1 << EOD
1 2 1
2 4 1
1 3 1
1 0 1
2 2 1
1 1 1
EOD
if(plot3d){
set view map
splot $data0 w lp, \
'' u 1:2:3:(sprintf("%d", $0)) w labels offset char 0, char -0.5
splot $data1 w lp, \
'' u 1:2:3:(sprintf("%d", $0)) w labels offset char 0, char -0.5
}else{
plot $data0 w lp, \
'' u 1:2:(sprintf("%d", $0)) w labels offset char 0, char -0.5
plot $data1 w lp, \
'' u 1:2:(sprintf("%d", $0)) w labels offset char 0, char -0.5
}
设置终端pngcairo
设置输出plot3d?“plot1.png”:“plot0.png”
取消设置键
设置xtics名称错误
设置ytics名称错误
设置xr[0.5:2.5]
设定年[-0.5:4.5]
设置多点布局1,2
$data0是的,您描述的行为对于splot
是正确的。实际上,您显示的引用明确提到了plot
,而不是splot
。有关splot
行为,请参阅“splot>数据文件”的文档,其中说明:
单个空白记录splot
数据文件中的单独数据块splot
将数据块视为功能y等值线的等价物。没有行将连接由空白记录分隔的点。如果所有数据块包含相同数量的点,gnuplot将在数据块之间绘制交叉等值线,连接相应的点。这被称为“网格数据”
因此,一般来说,单个空行用于构造splot
的网格数据,或允许使用every
选择数据点和数据块
两个空白行在分隔两个数据集时总是具有相同的含义,可以使用索引选择这两个数据集感谢您的详细解释…:)我的问题是由最近有人提出的,关于3d绘图中的奇怪轮廓,他/她正在从一个文件(以前使用表
生成)中绘制轮廓,结果非常奇怪-原因似乎恰恰是生成的文件中的单个轮廓仅用一条空行分隔。。。