Полярная диаграмма Gnuplot с верхней тэтой по часовой стрелке сохраняет начало внутренней радиальной сетки под углом 0 - PullRequest
1 голос
/ 30 октября 2019

У меня есть простой набор данных времени / значения, подобный этому:

1   20
2   21
# ...
15  36

Где первый столбец является значением времени, а другие столбцы хранят некоторые измерения. Я хотел нанести эти значения на «график часов», то есть полярный график (или радиолокационную диаграмму), где углы соответствуют моментам времени, а радиус сохраняет значение измерения.

Так как я быкак воспроизводить часы, я хочу, чтобы мое первое измерение началось в вертикальном положении, и я могу сделать set theta top clockwise. Имея 15 секунд в моем наборе данных, я могу разделить 360 градусов на углы в 24 градуса (по одному на каждую секунду) set grid polar 24.

Однако значения сетки начинаются с угла 0 градусов (а не какожидается, от верхнего угла 90 градусов). Это беспокоит меня, потому что мои измерения имеют смещение относительно сетки. (Проверьте прилагаемое изображение).

Как я могу решить эту проблему? Можно ли повернуть сетку, чтобы начать отсчет на 90 градусов? Заранее большое спасибо. enter image description here

1 Ответ

0 голосов
/ 30 октября 2019

В качестве обходного пути вы можете нарисовать линии сетки вручную. Не очень приятно, но вы визуально получаете желаемый результат.

Код:

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

...