如何在Grafana中基于InfluxDB数据绘制多时间点XY关系图?
在Grafana里实现每个时间点的XY线段绘制可行吗?
完全可行,具体操作步骤如下:
1. 调整InfluxDB查询,拆分数据
Grafana的XY图默认处理连续点序列,我们得先把每行原始数据拆成两行,对应线段的两个端点,还要加个标识把同一时间点的两个点归为一组。
给你个InfluxQL的示例(替换成你的测量名your_measurement):
SELECT time, X1 AS X, Y1 AS Y, time AS LineID FROM your_measurement WHERE $timeFilter UNION ALL SELECT time, X2 AS X, Y2 AS Y, time AS LineID FROM your_measurement WHERE $timeFilter
这个查询会把每一行原始数据拆成两行,每行对应一个端点,用LineID(这里直接用时间戳)确保同一时间点的两个点属于同一条线段。
2. 配置Grafana的XY面板
- 新建面板,选XY图类型
- 数据源选你的InfluxDB,粘贴上面的查询语句
- 切换到可视化设置页:
- 在数据格式里,把分组设为
LineID,这样Grafana就会把同一LineID下的两个点连成一条线 - 到点与线区域,打开线的显示开关,还能调线的粗细、颜色;要是不想显示端点,把点的显示关掉就行
- 按需调整X轴、Y轴的范围、标签这些基础配置
- 在数据格式里,把分组设为
3. 查看效果
保存配置后,面板就会为每个时间点画出一条连接(X1,Y1)和(X2,Y2)的线段,不同时间点的线段会通过颜色区分(也可以自己调整颜色映射规则)。
内容的提问来源于stack exchange,提问作者Ricardo Santos
相关产品推荐
相关产品推荐

