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

如何用Elasticsearch 6、Kibana 6创建每小时平均价格时序图表?

解决Timelion显示Y=0直线问题,实现每小时平均价格时序图

我之前也碰到过类似的Timelion显示异常情况,结合你的索引结构和数据,来帮你搞定这个需求:

一、Timelion 正确表达式

你需要明确指定时间字段、聚合方式和时间范围,试试这个完整的表达式:

.es(index=myindex, type=mydoctype, timefield=Datetime, metric=avg:Price, from=-24h).format('HH').yaxis(min=0)

表达式各部分说明:

  • index=myindex, type=mydoctype:指定要查询的目标索引和文档类型,确保Timelion能定位到你的数据
  • timefield=Datetime:这是关键! 你的时间字段是Datetime,而Timelion默认会用@timestamp,如果不指定这个参数,它找不到时间维度,就会返回空结果,最终显示为0值直线
  • metric=avg:Price:设置聚合逻辑为计算Price字段的小时平均值
  • from=-24h:限定查询过去24小时的数据集,匹配你的需求
  • .format('HH'):把X轴的时间格式化为00-23的小时数,对应你要的0-24小时范围
  • .yaxis(min=0):强制Y轴从0开始,避免因为部分时段无数据或聚合异常导致的直线问题

二、为什么之前显示Y=0直线?

大概率是这两个原因:

  1. 没有指定timefield=Datetime,Timelion默认用@timestamp字段,但你的数据里没有这个字段,导致无法正确按时间聚合,最终返回空结果,显示为0值直线
  2. 没有设置正确的聚合指标,默认聚合可能是count或者其他和价格无关的统计,自然看不到价格变化

三、替代方案:用Kibana标准折线图实现

如果Timelion用着不顺手,也可以用Kibana自带的可视化工具,步骤更直观:

  • 进入Kibana的「Visualize」页面,新建一个「Line Chart」
  • 选择你的myindex索引模式
  • X轴设置:选择「Date Histogram」,字段选Datetime,间隔(Interval)设置为「Hour」
  • Y轴设置:选择「Aggregation」为「Average」,字段选Price
  • 在页面顶部的时间选择器中,设置为「Last 24 hours」
  • 可以在「Options」里调整X轴的标签格式为HH,Y轴设置合适的最小值(比如0)
  • 保存后就能看到每小时平均价格的变化曲线了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:37:28