对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

对数据进行分箱、排序和限制

您可以在图表中对数据进行分箱、排序和限制,以突出数据的关键方面。

Atlas Charts 支持对数据中的日期、数字和字符串字段进行分箱。分箱将连续数据拆分为称为箱 的离散组中,每个箱包含原始值的连续子集。例如,您可以按出生年代(十年)将用户划分到不同的箱,或者按开始日期月份对具有时间戳的日历事件进行分组。

例子

连续数据与离散数据

连续数据可以占用连续范围内的任何值。连续数据的一些示例包括某人的身高、体温或出生时间。

另外,离散数据是指只能取特定值、被分类的数据。离散数据的示例包括眼睛颜色和班级学生人数。

在处理日期时,该数据通常以连续形式出现。将该数据拆分为特定的时间窗口可能是非常有用的,这有助于发现更多的趋势和模式。Atlas Charts 支持以下日期分箱:

  • 年份

  • 月

  • 年中的某一周

  • 月份日期

  • 周中的某一天

  • 小时

  • 分钟

  • 秒

要对日期使用分箱:

  1. 将日期字段(在图表生成器的 Fields 部分以日历图标表示)拖动到 category 编码通道。

    默认情况下,按 Binning On 切换指示启用分箱

  2. 使用下拉菜单选择日期的分箱大小。

  1. 根据需要切换 Periodic 设置。

    • 如果启用,Atlas Charts 创建相对于下一个最高时间段的分箱,并重复每个分箱以涵盖数据字段所跨的时间范围。

    • 如果禁用,则 Charts 创建的分箱不会重复。

    例子

    考虑一个包含 5 年数据的日期字段,分箱选择为 Month。如果禁用 Periodic,则 Charts 会将数据集中的 60 个月添加到可视化。

    或者,如果启用 Periodic,则 Charts 将仅绘制 12 个日历月,并可视化每个日历月的总聚合结果。

    注意

    • 选择 Day of the Week 的分箱大小时,Periodic 设置始终处于启用状态。

    • 选择大小为 Year 的分箱时,Periodic 设置始终处于禁用状态,因为“年”是 Charts 中可选的最大时间段。

要禁用分箱,请将 Binning 设置切换为关闭。在这种情况下,字段中的每个日期都会添加到可视化,而不执行分组。

例子

下图是对一家办公用品商店历史销售数据的可视化呈现。supplySales 集合中的每个文档都代表一笔销售。集合中的每个文档都包含以 salesDate 形式记录的销售日期和以 items 数组形式记录的销售商品列表。

saleDate字段包含连续的时间戳数据。在启用 Periodic 设置的情况下,该字段按 Date of the Month 进行分箱。这意味着,在数据跨越的几年中, Atlas Charts绘制了每月每个单独日期的 mean 销售额值:

按天对Charts进行分箱示例
点击放大

使用分箱日期数据时,您可以选择比较不同时间段的数据。您可以显示累计总数或数值变化。

要使用比较周期功能,图表必须具备:

  • 具有编码的渠道非周期日期字段的类别通道。

  • 一种聚合通道。

如果满足条件,聚合卡上会出现标有 Compare Periods 的开关按钮。开启后,会出现一个包含 Cumulative Total 和 Change in Value 选项的下拉菜单。

在 Cumulative Total 图表上,每个连续数据点的计算方法均是将自己的值与前一个按时间顺序排列的数据点相加。您还可以指定基线值作为累计总数的初始值。默认基线值为 0。

在 Change in Value 图表上,每个连续的数据点显示其与前一个按时间顺序出现的数据点之间的差异。图表中的第一个数据点将始终为空,因为没有可以比较的上一个周期。

以下类型的图表可以使用时间段比较功能:

注意

累计数据选项不适用于多序列图表。

例子

以下柱形图显示某办公用品商店五年来的累计年销售额。集合中的每份文档都包含销售日期 salesDate 以及包含销售商品数量的 quantity 字段。

saleDate 字段按年进行分箱。items 字段是一个数组,其中每个项目都有一个 quantity 字段,该字段通过 SUM 聚合操作添加到累积总数。

绘制累计总计Charts示例
点击放大

启用分箱后,Charts 将显示图表显示的最小和最大数据范围内的空分箱条目。

注意

例外

如果涵盖空分箱会导致图表中的唯一分箱超过 5000 个,则 Charts 不会显示空分箱。

Charts 用于空分箱的值取决于您选择的聚合函数:

聚合功能
推断值

count or distinct

0

所有其他功能

null

Charts 根据图表类型以不同方式显示带有 null 值的分箱:

图表类型
Charts 如何显示 null 分箱

高度为 0 的条形图。即使已启用,Charts 也不显示 null 分箱的数据标签。

线性插值,null 分箱上没有数据标记。即使已启用,Charts 也不显示 null 分箱的数据标签。

使用图表构建器中的 Sort By 下拉菜单,按以下任一方式对图表数据进行排序:

如果按 Value(值)对多序列图表进行一般排序而不是按特定序列排序,Atlas Charts 根据序列中的所有值的总和对数据排序。

要在升序或降序排序顺序之间切换,请单击 Sort By 下拉列表右侧的 a-z 按钮。

默认情况下,Charts 根据 Value 以降序排列数据。

如果使用每个系列的不同字段创建多系列图表,则可以按特定系列字段对图表进行排序。

例子

以下图表使用示例数据:电影数据源来比较每种类型电影的 fresh 和 rotten 烂番茄评分的平均值。

此图表按平均 fresh 值按降序排序:

按“烂番茄”新鲜评分降序排序的图表
点击放大

此图表按平均 rotten(烂番茄)评分的升序顺序排序:

按“烂番茄”烂评分升序排序的图表
点击放大

您可以对 Category 编码渠道应用限制,以便在可视化中仅包含指定数量的类别。包含的类别是根据指定的排序顺序最先匹配的类别。当可视化类别过多的数据而难以创建有意义的图表时,限制数据会很有用。

当您限制数据时,还可以额外启用 Show "All Others"(显示所有其他),创建名为“All others”(所有其他)的新类别,该类别可以将您的限制所忽略的类别值合并起来。

例子

下图表显示了特定国家/地区电影的平均 IMDb 评分:

按国家/地区分列的电影评分
点击放大

数据集包含许多不同国家/地区的电影,但最有意思的是了解哪些国家/地区制作的电影收视率最高。我们可以限制只显示电影平均收视率最高的 10 个国家/地区来实现这一目标。

将 Limit Results 切换至 On,Show 输入保持默认值 10。

勾选 Show "All Others"(显示所有其他)以创建第 11 列,表示未进入前 10 名的国家/地区的电影平均评分。

这个图表现在更容易理解了,我们可以清楚地看到电影收视率最高的国家/地区:

按国家/地区限制分列的电影评分
点击放大
给本页内容打分