从散点图和同一3D图上的png绘制3D曲面

时间:2013-01-28 08:03:35

标签: gnuplot

我需要在同一图表上绘制基于散点图数据和2D图像(.png)的3D表面,位于图表上的确定位置以比较两者的数据。到目前为止,我设法分别做两个(绘制图像和制作表面)。

但是,当我尝试将两者放在同一个脚本上时,我收到一条错误消息(“未实现颜色列的网格化”),这是由于创建与之冲突的表面(dgrid3d)的命令而发生的图片。我想知道如何避免这个错误。

提前致谢

*编辑

散点图采用xyz格式:

-100.000000 -25.000000 -4.122210

-100.000000 -20.000000 -4.933388

-100.000000 -15.000000 -7.902138

-100.000000 -10.000000 -7.902138

并且图像很简单。

我正在使用的脚本是:

set hidden3d
set samples 100
set isosamples 100
unset surface
set pm3d
set dgrid3d

 splot '444_0.dat' u 1:2:3 \
 splot 'test.png' \
 binary filetype=png flipy rotate=-90d center = (4,-25,5.7) perp=(0,1,0) with rgbimage

由于我之前指出的错误

而无法正常工作

1 个答案:

答案 0 :(得分:3)

错误消息表明问题出在dgrid3d。你可以解决的一种方法是将表面绘制成表格:

set terminal push #Save current terminal settings
set terminal unknown #dummy terminal
set table "surface.dat"
set dgrid3d
splot 'surface_points.dat' using ...
unset dgrid3d
unset table
set term pop #reset current terminal settings
set output "MyPlot.extension"

#commands to plot image and `surface.dat` together.