You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Gnuplot统计10分钟区间内CSV数据条目并生成柱状图

需求实现结论

该需求可以直接通过Gnuplot实现,无需提前对原始数据做预处理,Gnuplot内置的时间解析、分箱统计能力可直接覆盖该场景,具体实现逻辑如下:

实现步骤

  • 第一步:配置Gnuplot识别你的数据格式
    你的数据以分号作为分隔符,每行对应完整时间,先配置解析规则:
    # 指定数据分隔符为分号
    set datafile separator ";"
    # 配置时间格式匹配你的数据结构
    set timefmt "%Y-%m-%d;%H:%M:%S"
    # 开启X轴时间显示模式
    set xdata time
    # 配置X轴时间显示格式,跨天场景也可清晰展示
    set format x "%H:%M\n%Y-%m-%d"
    
  • 第二步:定义10分钟分箱规则
    10分钟对应600秒,将时间转换为秒级时间戳后向下取整到最近的600秒整数倍,即可得到每个时间对应的10分钟区间起始点:
    # 分箱函数,输入为秒级时间戳,输出对应10分钟区间的起始时间戳
    bin(time) = 600 * floor(time / 600)
    # 可选:调整柱状图宽度,优化显示效果
    set boxwidth 0.8 relative
    set ylabel "事件条目数"
    set grid y
    
  • 第三步:直接读取原始数据绘图
    用Gnuplot内置的smooth frequency功能自动统计每个分箱内的条目数,直接生成柱状图:
    plot "你的数据文件路径.csv" using (bin(timecolumn(1, "%Y-%m-%d;%H:%M:%S"))):(1) smooth frequency with boxes title "10分钟区间事件数"
    

上述代码直接运行即可得到符合要求的统计结果,无需提前用其他工具对原始CSV做预处理。如果需要调整时间区间的对齐逻辑、柱子样式等,只需要修改对应配置项即可。

内容的提问来源于stack exchange,提问作者Ma Sch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 09:24:00