Удаление нежелательных линий сетки в RRDtool - PullRequest
0 голосов
/ 30 октября 2019

В настоящее время я делаю ряд графиков для пользователей на сервере.

Используемый код выглядит следующим образом:

$RRDTOOL graph $SCUMCOUNTPATH/mtghour.png \
    --start now-3600s --end now \
    --alt-autoscale \
    -w 343 -h 85 \
    --lower-limit 0 \
    --title "Last 90 Minutes" \
    --color CANVAS#36393f00 \
    --color BACK#36393f00 \
    --color FONT#5b80e0 \
    --color GRID#888888 \
    --color MGRID#888888 \
    --color SHADEA#36393f \
    --color SHADEB#36393f \
    --x-grid MINUTE:5:HOUR:20:MINUTE:30:0:%M \
    --alt-y-grid --rigid \
    --left-axis-format %2.0lf \
    --rigid \
    --watermark "$(date +'%a %b %d %H:%M %Z %Y')" \
    DEF:nowcount=$SCUMCOUNTPATH/mtg.rrd:count:AVERAGE \
    CDEF:up=nowcount,0,*,0,EQ,0,1,IF \
    TICK:up#3b455e:1.0 \
    LINE2:nowcount#5b80e0: \
    GPRINT:nowcount:LAST:"         Current\:%2.0lf" \
    GPRINT:nowcount:AVERAGE:"Average\:%2.1lf" \
    GPRINT:nowcount:MAX:"Maximum\:%2.0lf         " >/dev/null

Это дает следующее:

Too many Gridlines

То, что я хотел бы, чтобы это было сделано (Photoshopped):

enter image description here

Дополнительная информация:

Я использую RRDtool 1.5.5 в среде Linux и запускаю сценарий с BASH, запланированный с помощью cron.

1 Ответ

1 голос
/ 31 октября 2019

Требуемая опция: --y-grid или, возможно, --alt-y-grid.

Сначала попробуйте использовать --alt-y-grid, который пытается использовать более интеллектуальный алгоритм для расчета оптимального размещения линий. В целом это может работать лучше для вас.

В противном случае попробуйте --y-grid 1:1. Это означает «ставить строку каждые 1,0 и маркировать каждую строку». Для сравнения, на первом графике (который вам не нужен) вы видите --y-grid 0.1:10, где строка идет каждые 0,1, но помечены только 1 из 10.

Более подробная информация в документации RRDTool здесь

...