Grafana 教程

直方图(Histogram)

直方图计算数值的分布,并以柱状图的形式显示。Y 轴和每个条形图的高度代表每个括号内数值的计数,而 X 轴代表数值范围

46f54fa272e4c20c5fdc6df017e5db36_histogram-example-v8-0.png

一个示例

下面我们还是使用 mysql 作为数据源,假如存在如下数据表:

image.png

该表格的 SQL 语句如下:

CREATE TABLE `histogram_data` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `time` datetime DEFAULT NULL,
  `value` DECIMAL(10,7) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

表格对应的数据 SQL 如下:

INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (12, '2024-05-12 12:30:00', 31.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (13, '2024-05-13 12:30:00', 32.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (14, '2024-05-14 12:30:00', 33.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (15, '2024-05-15 12:30:00', 34.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (7, '2024-05-07 12:30:00', 41.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (8, '2024-05-08 12:30:00', 42.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (9, '2024-05-09 12:30:00', 43.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (10, '2024-05-10 12:30:00', 44.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (11, '2024-05-11 12:30:00', 45.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (3, '2024-05-03 12:30:00', 71.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (4, '2024-05-04 12:30:00', 72.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (5, '2024-05-05 12:30:00', 73.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (6, '2024-05-06 12:30:00', 74.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (16, '2024-05-16 12:30:00', 81.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (17, '2024-05-17 12:30:00', 81.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (18, '2024-05-18 12:30:00', 82.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (19, '2024-05-19 12:30:00', 83.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (1, '2024-05-01 12:30:00', 91.00);
INSERT INTO `histogram_data` (`id`, `time`, `value`) VALUES (2, '2024-05-02 12:30:00', 92.00);

然后,打开 Grafana,创建一个直方图(Histogram),使用如下 SQL 语句作为直方图数据:

SELECT time, value FROM `histogram_data`

点击“image.png”按钮,查询数据,渲染图表效果如下图:

image.png

Supported data formats(支持的数据格式)

直方图支持时间序列和带有一个或多个数值字段的任何表格结果。

Display options(显示选项)

使用以下选项完善可视化。

Bucket size(桶大小)

桶的大小,留空用于自动调整桶大小(约为全量程的 10%)。

Bucket offset(桶偏移量)

如果第一个数据桶的起始值不为零。如果偏移量不为零,就会移动聚合窗口。例如,默认偏移量为 0 的 5 个大小为 0-5、5-10、10-15 的数据桶,在偏移量为 2 时就会变成 2-7、7-12、12-17;在这种情况下,偏移量为 0、5 或 10 实际上什么也做不了。通常情况下,该选项应与明确定义的邮筒大小一起使用,而不是自动使用。偏移量应大于 0 并小于水桶大小;超出此范围的值与此范围内的值效果相同。

Combine series(组合系列)

这将把所有序列和字段合并成一个综合直方图。

Line width(线宽度)

控制条形图的线宽。

Fill opacity(填充透明度)

控制填充不透明度条。

Gradient mode(渐变模式)

设置渐变填充的模式。渐变填充基于线条颜色。要更改颜色,请使用标准配色方案字段选项。

渐变显示受填充不透明度设置的影响。

  • None:无渐变填充,这是默认设置。

  • Opacity:根据 Y 轴上的值计算渐变的透明度。填充的不透明度随着 Y 轴上数值的增加而增加。

  • Hue:渐变色根据线条颜色的色调生成。

Legend mode(图例模式)

使用这些设置可定义图例在可视化中的显示方式。

  • List - 以列表形式显示图例。这是图例的默认显示模式。

  • Table - 以表格形式显示图例。

  • Hidden - 隐藏图例。

Legend placement(图例位置)

选择显示图例的位置。

  • Bottom - 图表下方。

  • Right - 图表右侧。

Legend values(图例值)

选择要在图例中显示的标准计算,可以有多个。

Legend calculations

选择要在图例中显示的标准计算,您可以选择多个。

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号