Time Gnuplot:如何获得;“时间友好”;小时/分钟x轴刻度布局
我很难在Gnuplot中获得“时间友好”的X轴布局 我需要提供一些一天内的数据;时间X数据以十进制形式表示,例如X=20.75表示20小时45分钟,范围通常为[0:24],但通常为子集,如[2.25:8.75] 默认的Gnuplot x轴布局将类似于[0:25]范围,主tics为0,5,10,15,…,这对于正常的十进制数据很好,但我希望它以通常的时钟方式选择更“时间友好”的内容,我指的是1,2,3或6小时的大刻度和1,5,15或30分钟的小刻度,根据范围适当选择 有人知道怎么做吗?这个怎么样Time Gnuplot:如何获得;“时间友好”;小时/分钟x轴刻度布局,time,format,gnuplot,Time,Format,Gnuplot,我很难在Gnuplot中获得“时间友好”的X轴布局 我需要提供一些一天内的数据;时间X数据以十进制形式表示,例如X=20.75表示20小时45分钟,范围通常为[0:24],但通常为子集,如[2.25:8.75] 默认的Gnuplot x轴布局将类似于[0:25]范围,主tics为0,5,10,15,…,这对于正常的十进制数据很好,但我希望它以通常的时钟方式选择更“时间友好”的内容,我指的是1,2,3或6小时的大刻度和1,5,15或30分钟的小刻度,根据范围适当选择 有人知道怎么做吗?这个怎么样
set xtics 1, 0.25
不幸的是:
次要tic只能与等间距的主要tic一起使用。由于主tic可以通过集合{x | x2 | y | y2 | z}tics
任意放置,因此如果主tic是显式集合
,则不能使用次tic
您可以指定gnuplot打印标签时使用的tics 放置XTIC的示例如下所示:
set xtics (1, 2, 3, 6)
set xtics add 2
set grid
plot [0:24] sqrt(x)
上面的脚本将在位置1、2、3和6处放置tics,然后以2的间隔重复tics。那将是8点,10点,12点,…设置网格
启用网格。可以找到文档
为了进一步改进绘图,您可能需要检查gnuplot的时间/日期数据功能。尝试使用命令
set xdata time
指示X轴数据是时间值。然后,您可以使用类似于set timemt“%H”
的方法告诉gnuplot如何解析时间值
例如,要绘制以下数据,第一列为以小时为单位的X值,第二列为Y轴值:
2.25 1
2.50 2
3.00 3
5.25 4
使用类似于:
set xdata time
set timefmt '%H'
plot 'myfile.dat' using 1:2
然后,gnuplot应将x tics正确设置为有规律的时间间隔。使用gnuplot 4.6 patchlevel 0
我最终得到了这个shell脚本,它可以被调用,后跟所需的输出名称: 另存为makeChart.sh
path='/home/you/yourdir/dat2.txt'
回声“
设置终端未知
绘图“$path”u 1:2
min=(GPVAL_Y_min-1)
max=(GPVAL_Y_max+1)
设置终端pngcairo大小1400600增强字体“Helvetica,12”
设置时间表“%H:%M”
设置“温度”标签
设置xlabel“时间”
取消设置键
设置网格
设置标题“温度传感器1”
设置XTIC向右旋转
设置xtics 0180096000
设置扩展数据时间
设置MX2
设置格式x“%H:%M”
设置格式y“%.2f”
设置Y范围[最小值:最大值]
设置输出“/var/www/somefolder/$1”
用线“| gnuplot”绘制“$path”u 1:2索引0
dat2.txt中的一些示例数据:一天中每5分钟的温度读数
00:05 74.75
00:10 74.85
00:15 74.85
.
.
.
23:30 75.65
23:35 75.65
23:40 75.52
23:45 75.65
23:50 75.65
23:55 75.75
像这样运行:you@yourpc$sudo./makeChart.sh chartx.png
一直在玩xtics范围,直到我有30分钟的时间间隔。不幸的是,当使用“%H”时,第一列的解析在到达小数分隔符时停止。您必须在第一列中使用类似于“2:15 2:30 3:00 5:15”的值和时间格式“%H:%M”。