使用圖表設定編輯器建立文氏圖

文氏圖:顯示資料集中兩個以上屬性的重疊部分。

使用圖表設定編輯器,從 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. 在「Plot」分頁中,按一下「Edit Chart Config」按鈕。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'}]
  }]
}

變更標籤字型大小

如要變更 Venn 圖標籤的字型大小,請使用圖表設定編輯器編輯 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
          }
        }
      }
    ]
  }]
}