插件 〉Scatter


开发者

Michael Moore

注册接收不定期的产品新闻和更新



面板
社区

Scatter

  • 概述
  • 安装
  • 变更日志
  • 相关内容

Grafana 的 Scatter 面板

Build Release Marketplace Downloads License

终于 - 一个简单易用且灵活的 Grafana X/Y 散点图面板,带有合理的配置选项。

image

Grafana 内置的 Graph 面板无疑是所有 Grafana 面板中的豪华劳斯莱斯。遗憾的是,它有一些严格的限制,特别是它坚持使用“时间序列”格式的数据查询,其中日期(按从左到右递增的顺序等)必须沿 X 轴显示。使用时间序列数据格式时,Graph 面板要求时间维度以 UNIX 时间戳的形式返回,并在名为“time”的列中。如果您的数据符合这些要求,那么无需再找,Graph 面板就是您所需要的。

但是,如果您的数据不符合这些要求——例如,您有一个表格格式的数据集——那么您需要其他东西。

如果您有时间和专业知识,可以使用 plotly 面板。基于著名的 plotly 图形绘制库,我相信它可以支持许多 X/Y 图表格式,尽管它对可处理的数据格式有一些假设。plotly 本身的学习曲线相当陡峭,所以我着手创建这个面板 - scatter - 来更直观地处理事情。

首先,Scatter 面板需要一个表格格式的数据集,其中包含两列或更多数值列。

其中一列可以分配给 X 轴,任何其他列都可以分配给一系列 Y 轴值,并将结果数据绘制成一系列点。每个系列还可以选择使用多种统计最佳拟合方法之一显示回归线。稍后将详细介绍这些线条。

入门。

一切都始于数据。在本例中,是一个表格格式的 Grafana 数据集,包含两列或更多数值。任何数值都可以。

为了介绍这一点,我使用了一个简单的 SQL Server 数据源,查询一个包含儿童平均身高与年龄的表格(数据似乎是真实的,但这仅供参考)。我有一个名为 HEIGHT 的表格,其中包含三个字段:Age、Boys 和 Girls。

如下图所示

| Age         Boys                   Girls            |
|-----------------------------------------------------|
| 5           109.696837335773       109.541676679828 |
| 6           115.627250312838       115.398119979595 |
| 7           121.114919518384       120.790683951776 |
| 8           126.285187093615       126.01172170753  |
| 9           131.262623167035       131.349152850971 |
| 10          136.187610423329       137.076855097059 |
| 11          141.221657358784       143.201525339874 |
| 12          146.950111196817       148.711637208893 |
| 13          153.627616043882       152.62642835968  |
| 14          159.89410578979        155.139181721546 |
| 15          164.419476461234       156.693073197084 |
| 16          167.282482716353       157.567921769527 |
| 17          169.036989740789       158.026194787039 |
| 18          170.077288053313       158.304537661364 |
| 19          170.835994392509       158.638268921939 |

查询本身再简单不过了 - SELECT * FROM HEIGHT

将其放入仪表盘也很简单。

首先创建一个新的(空)仪表盘,然后点击“添加面板”按钮。

默认情况下,Grafana 会添加内置的 Graph 面板,并选择时间序列记录类型。

将查询更改为您需要的(在本例中是 'SELECT * FROM HEIGHT' 查询),然后从时间序列切换到表格格式。Graph 面板会显示一条消息“unable to graph data”(无法绘制数据)和一个按钮“Switch to table view”(切换到表格视图)。

image

如果您有兴趣,可以点击按钮查看表格格式的数据

image

现在将可视化切换到 Scatter 面板

image

就这么简单。首次加载时,面板会自动配置,将第一列用作 X 轴,所有其他列用作 Y 轴,以显示基本的 X/Y 散点图。当然,这些配置选项都可以根据您的需要进行更改。

配置选项

除了 Grafana 为所有面板提供的标准选项之外,Scatter 面板还提供了 4 个自定义配置部分:X 轴、Y 轴、图例和显示。这些应该非常直观,尽管如此,我将依次描述每个部分的重点。

X 轴配置

image

字段选择器下拉菜单允许用户选择定义 X 轴的列。在本例中,“Age”已被自动配置预选,因为它出现在查询的第一列(最左侧)。

“反转”复选框将 X 轴显示方向从默认的从左到右更改为从右到左。我发现在显示“过去的几天”之类的数据时这很有用。

默认情况下,图形面板会根据数据自动设置范围。因此(在本例中),X 轴的范围从 5 到 19。在“最小”和/或“最大范围”字段中输入的值会覆盖自动范围设置。

X 轴标题字段 - 也由自动配置例程预填充 - 可以根据您的意愿进行更改。大小和颜色选择器圆点可以调整 X 轴标题的大小和颜色 - 嗯。

Y 轴配置

image

这与 X 轴配置设置非常相似,不同之处在于您可以选择每个数据集的数量和顺序。颜色和点大小可以根据您的喜好进行调整。线条选择器(默认为“无”)在需要时提供了多种最佳拟合回归线。注意:回归线功能有些实验性质 - 该面板的未来版本可能会改变(增强?)这些线条的工作方式。(下面将详细介绍线条)

“最小和最大范围”和“标题”字段的工作方式与 X 轴配置部分中的相同字段类似。Y 轴标题还有一个额外的开关,用于在需要时旋转文本。

图例配置

默认情况下,图例是关闭的。

开启它们会在面板右上角添加彩色标签,如下图所示

image

显示时,用户可以点击这些图例标签来选择或取消选择数据集,逻辑与 Grafana graph 面板中的相同。

显示配置

最后,是一个用于整体外观的包罗万象的部分。特别是调整底层网格颜色(我喜欢使用颜色选择器的自定义选项卡将不透明度设置为 25% 左右)

image

此外 - 如果需要,可以使用边框控件更改图形边框的颜色和粗细。

回归线

如上文所述,除了单个点之外,每个 Y 轴数据集都可以显示一条线。提供了多种线条类型(此列表可能在未来版本中更改)。

image

“简单”回归线

这会在每个点之间添加一条简单的连点线,如下图所示

image

注意 - 点是按照它们在数据查询中出现的顺序连接的。当数据已通过查询预排序以匹配 X 轴值时,此方法效果最佳。如果您的线条看起来像一团乱麻,这意味着您需要在查询中预排序数据(目前,Grafana 不提供按排序查询转换,但未来版本可能会添加此功能)

“线性”回归线

这会添加一条最小二乘法最佳拟合线,形式如下 image

image

“指数”回归线

这会添加一条统计最佳拟合线,形式如下 image

image

注意 - 这个特定的数据集 - 身高与年龄 - 确实遵循指数关系,所以结果即使是统计上最佳拟合,也不是很有用。但是您的数据可能不同。

“幂律”回归线

这会添加一条统计最佳拟合线,形式如下 image

image

同样,这对于我的测试数据集不是特别有用,但正如他们所说 - “您的体验可能会有所不同”。

我想添加一条趋向渐近线的回归线 - 类似 image 的形式。这对于像我的测试数据集这样的情况很有用,因为青春期后生长会减缓。这将不得不等到面板的未来版本。请关注此空间。

心愿单

在未来版本中,我计划添加一些新功能,例如这些

  • 工具提示 - 显示回归系数、变异等(在线条上),以及非数值字段(在点上)等。
  • 误差置信区域 - 显示最佳拟合,周围环绕着 X 标准误差的阴影区域(需要研究)
  • 其他最佳拟合回归类型
  • 还有其他吗? - 欢迎在 github issues 页面提交功能请求

在 Grafana Cloud 上安装 Scatter

更多信息,请访问插件安装文档。

变更日志

此项目的所有显著更改将在此文件中记录。

v1.0.0

  • 初次发布

v1.1.0

  • 更新、错误修复和增强功能。
  • 支持更多回归类型、对数刻度和基于表格数据的可选标签命名。

v1.2.0

  • 添加水平参考线
  • 支持根据数据集中的字符串字段覆盖点的颜色。

Scatter v1 2 0 features5