具有顺时针顶部theta的Gnuplot极坐标将内部径向网格原点保持在0角处

问题描述 投票:1回答:1

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

1   20
2   21
# ...
15  36

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

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

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

我该如何解决这个问题?我可以旋转网格以90度开始计数吗?预先非常感谢。enter image description here

plot gnuplot polar-coordinates radar-chart
1个回答
0
投票

作为解决方法,您可以手动绘制网格线。不太好,但是您可以从视觉上获得所需的结果。

代码:

### 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

结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.