我需要在同一图表上绘制基于散点图数据和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
由于我之前指出的错误
而无法正常工作答案 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.