Gnuplot 具有自定义trange和2d强度图的极坐标图

Gnuplot 具有自定义trange和2d强度图的极坐标图,gnuplot,Gnuplot,我有两列数据(来自sql数据库)。第一列是方位角,第二列是强度。第一列的范围约为1000对360 数据示例(方位#|强度): 我尝试了以下方法: set polar set trange [0:1000] plot "dat" w l 它的情节似乎不对。这道菜似乎不管用。它似乎是在一些数字少像360和情节似乎围绕着原点圈了好几圈 我还有一组3列的数据,X,Y,intensity。我想制作一个2d“颜色贴图”,在这里它绘制一个点(X,Y),然后强度是一种颜色。并非X,Y空间中的每个点都将被填充

我有两列数据(来自sql数据库)。第一列是方位角,第二列是强度。第一列的范围约为1000对360

数据示例(方位#|强度):

我尝试了以下方法:

set polar
set trange [0:1000]
plot "dat" w l
它的情节似乎不对。这道菜似乎不管用。它似乎是在一些数字少像360和情节似乎围绕着原点圈了好几圈

我还有一组3列的数据,X,Y,intensity。我想制作一个2d“颜色贴图”,在这里它绘制一个点(X,Y),然后强度是一种颜色。并非X,Y空间中的每个点都将被填充

数据示例(x | y |强度):

从网上阅读,似乎我应该使用pm3d,但我不知道如何使用它。我试过:

set pm3d map
plot "dat" using 1:2:3 with points linetype palette

但是我得到“警告:此绘图中没有可用数据自动缩放轴范围”和“所有点x值未定义”

第一个答案

为了防止方位角值超出整圈,可以在打印文件时缩放它们。如果您知道
1000
对应于
360
度,您可以将输入缩放到适当的弧度范围(
360=2*pi
),请使用以下命令:

plot "dat" u ($1/1000*2*pi):2 w l
set datafile separator "|"
这将第一列的值除以
1000
,然后乘以
2*pi
——得到所需的极坐标图

第二个答案

默认情况下,无法识别分隔符。包括以下命令:

plot "dat" u ($1/1000*2*pi):2 w l
set datafile separator "|"
如果随后使用以下命令:

set pm3d map
set xrange [0:3]
set yrange [1:7]

plot "test.dat" using 1:2:3 with points linetype palette
您将获得以下绘图:


我得到的方位角实际上是0-360度,但增量小于1度。数据通过“方位数”报告,其中1000表示360。我认为通过设置trange 0-1000,它会这样解释它。是的,现在它只是从一个sqlite数据库中包装了一些内容,但是我编辑了上面的内容并展示了一个示例。