我的代码中有一个类似四叉树的结构,我希望在gnuplot中可视化。这意味着我想看到矩形细分。我想在gnuplot中使用这个的原因是因为我想在这个轮廓上绘制一个2d函数来显示细分量和函数值之间的相关性。
是否有人知道如何做到这一点?
答案 0 :(得分:1)
我能想到两种解决方案 - 但它们都涉及到你自己的大量工作。您基本上需要将每行放入文本文件中。有两种方法可以做到这一点 - 第一种方法是将每个line-segement放在数据文件中的一行上并用箭头绘制:
#datafile -- Each row represents a line.
x11 y11 x12 y12
x21 y21 x22 y22
...
然后用:
绘制它set style arrow 1 nohead
plot 'datafile' u 1:2:($3-$1):($4-$2) w vec
第二种方式是单独放置每个点,用空白分隔点组:
#datafile -- each row represents a point
x11 y11
x12 y12
x21 y21
x22 y22
...
然后你用:
绘制这个plot 'datafile' u 1:2 w l
将数据打到这个表单中应该不会太困难 - 只需遍历每个分支,直到找到一个叶子并写出与该叶子相关的4行。一些行(或其中的一部分)将被复制,但这可能不会是一个太大的问题......
修改强>
我没有意识到你需要在顶部绘制一个2d功能。在这种情况下,我们需要使用splot
来绘制数据:
set term push #save terminal info
set term unknown
set contour
set cntrparam ... #whatever you need to make your contours appear the way you want
set table "junk_temporary_file.dat"
splot f(x,y) #whatever function you choose goes here.
unset table
unset contour
set term pop #restore terminal info
set view map
splot 'datafile' u 1:2:(0.0) w l,\
'junk_temporary_file.dat' u 1:2:3 w l #optional line specs here.
如果你想要颜色,它会更容易(很多):
set view map
splot f(x,y) w pm3d,\
'datafile' u 1:2:(0.0) w l