使用 gnuplot 而不是 excel 来绘制 ping 响应
Using gnuplot instead of excel to plot ping responses
我有一组来自 ping 的数据,由时间戳和 ping 响应的时间(以毫秒为单位)组成。时间戳的范围从 08:29:42 到 09:33:54 结束。时间戳和 ping 响应之间有一个逗号。这是实际文件的示例:
08:29:42, 4.24
08:29:43, 117
08:29:44, 141
08:29:45, 266
08:29:46, 292
08:29:47, 109
将文本文件导入 Excel 并突出显示 A 和 B 列并插入折线图时,我得到以下信息:
excel graph
最好远离 Excel,我希望为此使用 gnuplot。特别是因为 ping 数据是由 bash 脚本收集的,我可以将 gnuplot 功能添加到同一个脚本中以实现自动化。
获取相同的文件并使用以下命令将其加载到 gnuplot 中:
set term png
set out "gnuplot graph.png"
plot 'ping.txt' with lines
我得到以下输出:
gnuplot graph
我在 gnuplot 中看不到我在 excel 图中看到的细节。此外,X 轴上的时间范围仅为 08:00-09:00。我希望该图表包含文本文件的整个范围并适当绘制。
我在 gnuplot 中做错了什么导致输出如此不同?
gnuplot 不知道您使用的 x 数据是时间,除非您告诉它。请尝试使用以下脚本。
set xdata time
set timefmt "%H:%M:%S"
plot "ping.txt" using 1:2
编辑:
要使用线而不是点,请将 with lines
添加到绘图命令的末尾:
set xdata time
set timefmt "%H:%M:%S"
plot "ping.txt" using 1:2 with lines
我还注意到您在问题中输入的数据有空行分隔数据点。这将导致您的台词不显示。我强烈建议重新格式化您的 CSV 以删除空行。
我有一组来自 ping 的数据,由时间戳和 ping 响应的时间(以毫秒为单位)组成。时间戳的范围从 08:29:42 到 09:33:54 结束。时间戳和 ping 响应之间有一个逗号。这是实际文件的示例:
08:29:42, 4.24
08:29:43, 117
08:29:44, 141
08:29:45, 266
08:29:46, 292
08:29:47, 109
将文本文件导入 Excel 并突出显示 A 和 B 列并插入折线图时,我得到以下信息:
excel graph
最好远离 Excel,我希望为此使用 gnuplot。特别是因为 ping 数据是由 bash 脚本收集的,我可以将 gnuplot 功能添加到同一个脚本中以实现自动化。
获取相同的文件并使用以下命令将其加载到 gnuplot 中:
set term png
set out "gnuplot graph.png"
plot 'ping.txt' with lines
我得到以下输出:
gnuplot graph
我在 gnuplot 中看不到我在 excel 图中看到的细节。此外,X 轴上的时间范围仅为 08:00-09:00。我希望该图表包含文本文件的整个范围并适当绘制。
我在 gnuplot 中做错了什么导致输出如此不同?
gnuplot 不知道您使用的 x 数据是时间,除非您告诉它。请尝试使用以下脚本。
set xdata time
set timefmt "%H:%M:%S"
plot "ping.txt" using 1:2
编辑:
要使用线而不是点,请将 with lines
添加到绘图命令的末尾:
set xdata time
set timefmt "%H:%M:%S"
plot "ping.txt" using 1:2 with lines
我还注意到您在问题中输入的数据有空行分隔数据点。这将导致您的台词不显示。我强烈建议重新格式化您的 CSV 以删除空行。