使用图表配置编辑器创建维恩图

维恩图显示了数据集中两个或多个属性之间的重叠情况。

您可以使用 图表配置编辑器,从 Looker 中的 柱形图 开始创建维恩图。您必须至少包含两个 type: yesno 维度 和一个具有 type: stringtype: number 的维度,才能创建维恩图。

例如,您可以创建一个维恩图,显示用户首次购买的订单、应用了老年折扣的订单以及金额为 50 美元或以上的订单之间的重叠情况。

前提条件

如需访问图表配置编辑器,您必须拥有 can_override_vis_config 权限

编写 JSON 代码段

如需创建维恩图,请从以下 JSON 代码段开始:

{
  chart: {
    type: 'venn',
  }
}

创建维恩图

如需创建维恩图,请按以下步骤操作:

  1. 在探索中查看柱形图,或在 Look 或信息中心内修改柱形图。

    从至少包含三个维度的柱形图开始。包含一个 type: stringtype: number 维度。 至少包含两个 type: yesno 维度。

  2. 在可视化图表中,打开修改 菜单。

  3. 绘图 标签页中,点击修改图表配置 按钮。Looker 会显示修改图表配置 对话框。

  4. 选择图表配置(替换) 部分,然后输入此页面的编写 JSON 代码段部分中的 HighCharts JSON 代码段。

  5. 如需让 Looker 正确设置 JSON 的格式,请点击 <>(设置代码格式)

  6. 如需测试所做更改,请点击预览

  7. 如需应用更改,请点击应用 。可视化图表将使用自定义 JSON 值显示。

自定义可视化图表后,您可以保存它。

添加更多条件

如需向维恩图添加更多圆圈,请向数据表添加更多 type: yesno 维度。如果您仅需要维恩图的此条件,可以创建自定义维度。将自定义维度编写为布尔条件,如以下示例所示:

${orders.total_amount} > 50

更改重叠标签值

默认情况下,维恩图中任何重叠区域的标签都是区域标签的以逗号分隔的串联。例如,“消费金额超过 50 美元”“首次购买”和“老年折扣”区域之间的重叠将显示为“消费金额超过 50 美元, 首次购买, 老年折扣”。

如需自定义这些标签,请使用图表配置编辑器修改 series.data.name 属性。如需确定哪个属性对应哪个区域,首先列出所有区域可能会有所帮助。

例如,假设有一个包含三个圆圈的维恩图。这意味着共有七个区域。

您可以使用以下 JSON 代码段来了解哪个标签对应哪个数字:

{
  chart: {
    type: 'venn'
  },
    series: [{
    data: [{ name: '1'}, {name: '2'}, {name: '3'}, {name: '4'}, {name: '5'}, {name: '6'}, {name: '7'}]
  }]
}

然后,您可以修改要更改名称的任何区域的 name 属性。如需让标签保持默认状态,请移除 name 属性,但保留方括号不变。在此示例中,重叠区域(3、5、6、7)已重新标记,而外圆(1、2、4)保留其默认标签。

{
  chart: {
    type: 'venn'
  },
    series: [{
    data: [{}, {}, {name: 'Ruby tier'}, {}, {name: 'Platinum tier'}, {name: 'Emerald tier'}, {name: 'Sapphire tier'}]
  }]
}

更改标签字号

如需更改维恩图上标签的字号,请使用图表配置编辑器修改 dataLabels.style.fontSize 属性。

为了扩展前面的示例,以下示例将每个标签的字号设置为 24 磅。

{
  chart: {
    type: 'venn',

  },
  series: [{
    data: [{
        dataLabels: {
          style: {
            fontSize: 24
          }
        }
      }, {
        dataLabels: {
          style: {
            fontSize: 24
          }
        }
      }, {
        name: 'Ruby tier',
        dataLabels: {
          style: {
            fontSize: 24
          }
        }
      }, {
        dataLabels: {
          style: {
            fontSize: 24
          }
        }
      }, {
        name: 'Platinum tier',
        dataLabels: {
          style: {
            fontSize: 24
          }
        }
      },
      {
        name: 'Emerald tier',
        dataLabels: {
          style: {
            fontSize: 24
          }
        }
      },
      {
        name: 'Sapphire tier',
        dataLabels: {
          style: {
            fontSize: 24
          }
        }
      }
    ]
  }]
}