首页 > 解决方案 > 顶部 theta 顺时针方向的 Gnuplot 极坐标图将内部径向网格原点保持在 0 角

问题描述

我有一个像这样的简单时间/值数据集:

1   20
2   21
# ...
15  36

其中第一列是时间值,其他列存储一些测量值。我想在“时钟图”中绘制这些值,这是一个极坐标图(或雷达图),其中角度对应于时间瞬间,而半径保持测量值。

由于我想复制一个时钟,我希望我的第一次测量从垂直位置开始,我可以做到set theta top clockwise。在我的数据集中有 15 秒,我可以将 360 度拆分为 24 度角(每秒一个)set grid polar 24

但是,网格值从 0 度角开始(而不是像预期的那样,从 90 度的顶角开始)。这让我很困扰,因为我的测量值相对于网格有偏移。(检查所附图片)。

我怎么解决这个问题?我可以旋转网格以 90 度开始计数吗?非常感谢您。在此处输入图像描述

标签: plotgnuplotpolar-coordinatesradar-chart

解决方案


作为一种解决方法,您可以手动绘制网格线。不是很好,但你在视觉上得到了想要的结果。

代码:

### polar grids aligned to north
reset session
set size square
set angle degrees

set polar
set theta clockwise top
unset border
set border polar
unset xtics
unset ytics
set ttics 24 format ""
set rtics 10
set grid rtics
unset key

set rrange[0:40]

# manually draw grid lines
do for [i=0:360:24] {
    set arrow i+1 from 0,0 to polar i,40 lw 0.5 dt 3 lc rgb "black" nohead
}

set samples 16
plot t/9 w lp pt 7 lc rgb "red"
### end of code

结果:

在此处输入图像描述


推荐阅读