超文本可以在Gnuplot中与pm3d曲面图一起使用吗?

超文本可以在Gnuplot中与pm3d曲面图一起使用吗?,gnuplot,Gnuplot,我正在尝试读取使用pm3d创建的3D曲面(热图)各个点的坐标。如果我使用splot命令只在三维空间中绘制点,我可以使用超文本以交互方式显示它们的X、Y、Z坐标。但当我使用pm3d命令时,超文本似乎不起作用。可以同时使用超文本和pm3d吗?这对您有用吗 f(a,b) = sin(a)*cos(b) set xrange [-pi:pi]; set yrange [-pi:pi] set samples 21; set isosamples 21 set pm3d set pm3d deptho

我正在尝试读取使用pm3d创建的3D曲面(热图)各个点的坐标。如果我使用splot命令只在三维空间中绘制点,我可以使用超文本以交互方式显示它们的X、Y、Z坐标。但当我使用pm3d命令时,超文本似乎不起作用。可以同时使用超文本和pm3d吗?

这对您有用吗

f(a,b) = sin(a)*cos(b)
set xrange [-pi:pi]; set yrange [-pi:pi]
set samples 21; set isosamples 21

set pm3d 
set pm3d depthorder
splot '++' using 1:2:(f($1,$2)):(sprintf("%.2g %.2g %.2g",$1,$2,f($1,$2))) \
      with labels point lc "#FF000000" hypertext

这将为您提供一个在每个顶点都带有超文本标签的pm3d曲面。
点lc“#FF000000”
是为了使点透明,这样它们就不会干扰曲面的查看。

请显示一些数据和一些代码。看到了,看起来很棒,谢谢!我快到了。我的3D曲面是从“矩阵”输入文件创建的,即输入文件中的每一行和每一列都有Z值。我知道我必须在splot命令中使用正确的“using”选项。我尝试了“splot矩阵使用1:2:3:($1,$2,$3)和标签point pt 7超文本”,但没有成功。我遗漏了什么?超文本标签(第四个使用说明符)必须是字符串。($1、$2、$3)不是字符串。您可以使用sprintf从我在答案中显示的数值创建一个字符串。我的问题是我使用Shell(“C:\Program Files\gnuplot\bin\wgnuplot.exe-p-e”+“”“…splot…以及您的其余代码“””)。您的代码在独立的gnuplot使用中工作得非常好。我的问题是,我使用VB.NET中的Shell(“C:\Program Files\gnuplot\bin\wgnuplot.exe-p-e“+”…splot…和其他选项…”)函数来运行gnuplot并生成三维曲面图。当我尝试使用sprintf时,大约$%.2g、$%.2g、$%.2g、$%.2g的引号在MS Visual Studio editor中导致错误。抱歉。我对在Windows或VB.NET上运行一无所知。也许在另一个论坛上提问,因为现在的问题是命令行而不是程序?