文氏圖會顯示資料集中兩個以上屬性之間的重疊部分。
您可以使用圖表設定編輯器,從 Looker 中的柱狀圖開始建立範疇圖。您必須至少加入兩個 type: yesno
維度,以及一個含有 type: string
或 type: number
的維度,才能建立維恩圖。
舉例來說,您可以建立並視覺化呈現使用者首次購買的訂單、適用長者折扣的訂單,以及 $50 美元以上訂單之間的重疊部分。
事前準備
如要存取圖表設定編輯器,您必須具備 can_override_vis_config
權限。
編寫 JSON 程式碼片段
如要建立範例圖表,請先從下列 JSON 程式碼片段開始:
{
chart: {
type: 'venn',
}
}
建立文氏圖
如要建立範疇圖,請按照下列步驟操作:
在「探索」中查看資料欄圖表,或在「觀點」或資訊主頁中編輯資料欄圖表。
請先建立至少包含三個維度的柱狀圖。加入一個
type: string
或type: number
維度。至少加入兩個type: yesno
維度。在圖表中開啟「編輯」選單。
在「Plot」分頁中,按一下「Edit Chart Config」按鈕。Looker 會顯示「Edit Chart Config」對話方塊。
選取「圖表設定 (覆寫)」部分,然後輸入本頁「編寫 JSON 片段」部分的 HighCharts JSON 片段。
如要讓 Looker 正確設定 JSON 格式,請按一下 <> (格式化程式碼)。
如要測試變更內容,請按一下「預覽」。
如要套用變更,請按一下「套用」。系統會使用自訂 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
}
}
}
]
}]
}