如何用gnuplot创建一个三维极坐标图

我正在调查麦克风的频率响应。

为了帮助分析它们,我编写了一个程序,输出:到达角度,频率(Hz)和给定角度和频率(dB)下的响应。

我写了一个gnuplot脚本,将所有这些数据绘制成一个3d图形: gnuplot图

gnuplot的代码是:

set xlabel "Arrival Angle (degrees)" font "arial,8"
set ylabel "Frequency (Hz)" font "arial,8"
set zlabel "Gain (dB)" font "arial,8"

set grid lc rgbcolor "#BBBBBB"

set xrange[-180:180]
set yrange[0:20000]
set zrange[-60:0]

unset key
set view 30,56,0.98

splot 'freq.dat' u 1:2:3 with pm3d

我知道这有点不同寻常,但我想要做的是用一种3d极坐标图表示这一点,但我无法弄清楚如何去做。 下面的(坏)图显示了我一直试图实现的事情: 最终的目标

任何人都可以指引我走向正确的方向吗?

提前致谢。 戴夫。


2013年4月26日更新

我一直在玩,并创建了一个更新的脚本:

reset
set title "3D version using cylindrical coordinate system"
set ticslevel 0.0
set view 30,56,0.98
set angles degrees
set mapping cylindrical
set parametric
set zrange[-60:0]
unset key
splot 'freqResp.dat' u 1:3:2 with pm3d

这个脚本几乎做我需要的东西,但不幸的是它只渲染了图的后半部分。 前半部分仍然没有插槽。 例如: 腐败图

如果有人想玩上面的脚本,我已经把'freqResp.dat'文件放在这里。

当我用原始脚本绘制相同的文件时,我得到下面的图像(因此所有数据都存在于freqResp.dat文件中): 所有数据都存在

任何人都可以帮助我获得gnuplot来渲染图的前半部分吗? 谢谢戴夫。


在几个用户的帮助下,最终的答案是:

reset
set title "3D version using cylindrical coordinate system"
set ticslevel 0.0
set view 30,56,0.98
set angles degrees
set mapping cylindrical
set parametric
set zrange[-60:0]
unset key
set pm3d depthorder 
splot 'freqResp.dat' u 1:3:2 with pm3d

感谢所有的帮助

链接地址: http://www.djcxy.com/p/70995.html

上一篇: how to create a 3d polar graph with gnuplot

下一篇: cmake fails with android ndk