【问题标题】:Gnuplot polar plot with top theta clockwise keeps the inner radial grid origin at 0 angle顶部 theta 顺时针方向的 Gnuplot 极坐标图将内部径向网格原点保持在 0 角
【发布时间】:2019-10-30 11:12:30
【问题描述】:

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

1   20
2   21
# ...
15  36

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

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

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

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

【问题讨论】:

    标签: plot gnuplot polar-coordinates radar-chart


    【解决方案1】:

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

    代码:

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

    结果:

    【讨论】:

    • 谢谢你的回答,看来我真的要手动绘制网格线,虽然我希望有一种内置的解决方案。
    • 也许有一个内置的解决方案或技巧,但我不知道也没有找到。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-03
    • 2020-10-07
    • 2019-06-10
    • 2017-08-22
    相关资源
    最近更新 更多