在 RRDtool 中删除不需要的网格线

Removing unwanted gridlines in RRDtool

我目前正在服务器上为用户制作大量图表。

我使用的代码如下:

$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

生成的是这样的:

我希望它产生的是这个(Photoshopped):

额外信息:

我在 linux 环境中使用 RRDtool 1.5.5,运行 脚本 BASH 使用 cron 计划。

您需要的选项是 --y-grid,或者可能是 --alt-y-grid

首先尝试使用 --alt-y-grid,它会尝试使用更智能的算法来计算最佳线路布置。总体而言,它可能更适合您。

如果不行,请尝试 --y-grid 1:1。这意味着 "put a line every 1.0, and label every line"。作为比较,您在第一张图表中看到的(您不想要的)是 --y-grid 0.1:10,其中每 0.1 条线都有一条线,但只有十分之一的线被标记。

RRDTool 文档中的更多详细信息here