加载中

Lens 配置构建器 API - 热力图

深入了解 LensHeatmapConfig

  • 类型: 固定值 'heatmap'
  • 描述: 将图表类型设置为热力图。
  • 类型: string
  • 描述:可视化的标题。

Lens 配置构建器 API 中的 dataset 配置定义了可视化的数据源。

  1. LensESQLDataset (LensESQLDataset)
  • 利用 Elasticsearch 查询语言 (ES|QL) 来检索数据。
  • 属性包括
  • esql:包含 ES|QL 查询的字符串。ES|QL 是一种功能强大的查询语言,允许进行复杂的搜索和聚合操作,使得这种数据集类型对于高级数据检索场景特别灵活且强大。
  1. LensDatatableDataset (LensDatatableDataset)
  • 以表格格式表示数据,适用于直接可视化或进一步处理。
  • 当数据已经过聚合或处理,且只需显示时,通常使用此数据集类型。
  1. LensDataviewDataset (LensDataviewDataset)
  • 针对特定 Elasticsearch 索引或数据视图中的数据。
  • 属性包括
  • index:数据视图的 ID 或 Elasticsearch 索引模式的名称。
  • timeFieldName(可选):用于基于时间的操作的字段名称,为时间范围查询和聚合提供上下文。
  • 类型: LensBreakdownConfig
  • 描述: 配置 Y 轴的数据细分。请查看下方的细分(breakdown)配置详情。
  • 类型: LensBreakdownConfig
  • 描述: 定义热力图 X 轴的细分配置。请查看下方的细分(breakdown)配置详情。
  • 类型:Identity
  • 描述: 配置热力图的图例。图例设置包括显示或隐藏图例的选项,以及指定其位置('top'、'left'、'bottom'、'right')。这对解读热力图中使用的颜色和渐变至关重要,因为它为所代表的数据值提供了参考比例。

Lens 配置构建器 API 中的 breakdown 配置允许开发者定义如何在可视化中分割或聚合数据。

在使用 ES|QL 或 Datatable 作为数据源时,breakdown 配置仅接收用作分解的字段名称。

当使用 index 作为数据源时,breakdown 仍然可以是一个字段名称(在这种情况下,Lens 将尝试选择最合适的选项),或者它可以是以下配置之一:

  1. 热门值 (LensBreakdownTopValuesConfig)
  • 基于指定字段的出现频率最高的值对数据进行分解。
  • 属性包括 field(要分解的字段)和 size(要显示的热门值的数量)。
  • 非常适合饼图、标签云或任何需要突出显示最常见或最重要类别的可视化。
  1. 日期直方图 (LensBreakdownDateHistogramConfig)
  • 使用指定的日期字段随时间对数据进行分段。
  • 属性包括 field(用于直方图的日期字段)和 minimumInterval(要使用的最小间隔,例如 1M 表示每月)。
  • 适用于时间序列数据,在折线图、面积图等中显示随时间变化的趋势。
  1. 区间 (LensBreakdownIntervalsConfig)
  • 基于数值字段将数据划分为多个区间。
  • 属性包括 field(用于创建区间的数值字段)和 granularity(区间大小)。
  • 适用于直方图或任何受益于数值范围分段的可视化。
  1. 过滤器 (LensBreakdownFiltersConfig)
  • 允许基于 Elasticsearch 过滤器集合对数据进行自定义分段。
  • 属性包括一个 filters 数组,每个过滤器都有一个 label(可选)和一个定义过滤查询的 filter 字符串。
  • 在数据分段方面提供了最大的灵活性,适用于创建跨自定义分段的比较可视化。
const heatmapConfig: LensConfig = {
  chartType: 'heatmap',
  title: 'Heatmap Chart',
  dataset: {
    esql: 'from kibana_sample_data_logs | stats bytes=sum(bytes) by geo.dest, geo.src',
  },
  breakdown: 'geo.dest',
  xAxis: 'geo.src',
  value: 'bytes',
  legend: {
    show: true,
    position: 'right',
  },
};
const configBuilder = new LensConfigBuilder(dataViewsAPI, lensFormulaAPI);
const lensConfig = configBuilder.build(heatmapConfig, {
  timeRange: { from: 'now-1M', to: 'now', type: 'relative' },
  embeddable: true,
});
		

此示例概述了如何创建显示网站流量的热力图可视化,按星期几 (weekday) 和一天中的小时 (hour) 进行细分。breakdownxAxis 配置将数据细分为网格,其中每个单元格代表特定某天某小时内的会话数。在 dataset 配置中使用 ESQL 查询可以直接聚合流量数据,从而促进高效且动态的热力图生成。图例配置为显示在右侧,为解读热力图的颜色强度提供了指南。

© . This website operates independently and is not affiliated with or endorsed by Elasticsearch B.V. All brand names, logos, and trademarks are the property of their respective owners.