Gnuplot:显示变量范围的极坐标图

Gnuplot:显示变量范围的极坐标图,gnuplot,polar-coordinates,data-files,Gnuplot,Polar Coordinates,Data Files,我有一个角度范围的数据集,我想用极坐标图表示。 格式如下: [Radius]\t[Range 1 lower] [Range 1 upper]\t[Range 2 lower] [Range 2 upper]... 典型的数据线如下所示: 1.181 0 0 31.8196 38.3883 141.612 148.18 180 180 211.82 218.388 321.612 328.18 每行的范围数可能不同,也有没有任何范围的行。理想情况下,我希望以极坐标图结束,在给定半径下

我有一个角度范围的数据集,我想用极坐标图表示。 格式如下:

[Radius]\t[Range 1 lower] [Range 1 upper]\t[Range 2 lower] [Range 2 upper]...
典型的数据线如下所示:

1.181   0 0 31.8196 38.3883 141.612 148.18  180 180 211.82 218.388  321.612 328.18
每行的范围数可能不同,也有没有任何范围的行。理想情况下,我希望以极坐标图结束,在给定半径下,填充每个范围的上下限之间的角度,而图的其余部分为空

这些范围没有重叠,但其中一些与下限和上限的角度相同(例如上面示例中的“0 0”范围),应该仍然可见,因为(一如既往)计算中的那些单点和几乎不可见的细节是在实验中观察到的

现在,我已经改变了输出上述范围的C程序,给了我一个极坐标点云,我用点绘制,但我真的更喜欢一种填充区域的矢量图,因为这意味着(大大)更小的文件大小,并允许缩放


感谢您的帮助,
Andreas

这里有纯gnuplot 4.4+解决方案,但它们将是复杂的。一个原因是数据文件的极坐标打印不是通过极坐标插值完成的,而是通过线性插值(端点之间的直线)完成的。我宁愿让C程序输出gnuplot命令来直接绘制数据,例如

set polar
set angles degrees
plot (t<38.3883&t>31.8196)?1.181:1/0 with filledcurves above r=0, \
     (t<...
设置极轴
设置角度和角度
绘图(t31.8196)?1.181:1/0,带r=0以上的填充曲线\

(t有纯粹的gnuplot 4.4+解决方案,但它们将是复杂的。一个原因是数据文件的极坐标绘制不是用极坐标插值完成的,而是线性插值(端点之间的直线)。我宁愿让C程序输出gnuplot命令来直接绘制数据,例如

set polar
set angles degrees
plot (t<38.3883&t>31.8196)?1.181:1/0 with filledcurves above r=0, \
     (t<...
设置极轴
设置角度和角度
绘图(t31.8196)?1.181:1/0,带r=0以上的填充曲线\

(t您能提供更新吗?您是否找到了gnuplot解决方案或使用了其他绘图软件或使用了不同的数据输出?谢谢您的建议。同时,我一直忙于另一个项目,因此我决定保留“点云”目前的解决方案。不过,一旦我回到这个问题上,你的答案会非常有用,因为我想要绘制的数据的特殊性质——范围随着半径单调增加,这是我问这个问题时没有想到的。这意味着,我可以(至少)将点云减少到一定数量半径的范围列表中。无论如何,您直接编写SVG的想法听起来也很诱人,因为我已经有了顶点坐标。您能提供更新吗?您是否找到了gnuplot解决方案或使用了其他绘图软件或使用了不同的数据输出?谢谢您的建议。我已经与此同时,我一直忙于另一个项目,所以我决定保留“点云”目前的解决方案。不过,一旦我回到这个问题上,你的答案会非常有用,因为我想要绘制的数据的特殊性质——范围随着半径单调增加,这是我问这个问题时没有想到的。这意味着,我可以(至少)将点云减少到一定半径范围的列表中。无论如何,您直接编写SVG的想法听起来也很诱人,因为我已经有了顶点坐标。