按運算式著色

按運算式著色即透過使用者定義的運算式設定色彩。在按運算式著色時,您可以同時定義要使用的色彩和與其一同使用的相關值,進一步控制視覺化中的色彩使用方式。例如,您可醒目提示特別感興趣的值,或區分不同值範圍內的值。按運算式著色還可用於使用未包括在視覺化內的值定義視覺化的色彩,例如按產品原產國為產品及其每月銷售額總和著色。

在您選擇按照運算式著色時,您可選擇將運算式用作色彩代碼,或定義如何使用運算式將按照量值色彩選項套用於視覺化。

以下視覺化支援按運算式著色:

  • 橫條圖
  • 組合圖
  • 折線圖
  • 地圖
  • 圓形圖
  • 樞紐分析表

  • 散佈圖
  • 表格

  • 樹狀圖
備註: 由運算式著色時,圖標選項在視覺化中不可用。 如果視覺化使用具有色彩代碼的運算式著色,則其不支援圖標。

使用具有色彩代碼的運算式著色

預設情況下,如果您選擇按運算式著色,運算式是色彩代碼會被啟用。如果您選擇了此選項,您的運算式必須包括採用受支援運算式格式的色彩代碼,用以定義要使用的色彩。使用此方法可讓您手動控制視覺化色彩以及視覺化中所用色彩的條件。對於表格和樞紐分析表,您可以使用運算式來定義背景色彩和資料行文字色彩。

備註: 在按運算式著色時,如果運算式包含錯誤或視覺化中的物件在運算式中被指派多種色彩,則視覺化中的物件為灰色。

範例

以下舉例說明您可以按顏色使用運算式做什麼。

Example: 按隨機色彩範圍著色

argb(255,rand()*255,rand()*255,rand()*255)

此範例使用 ARGB 色彩。它以設定完全不透明的 alpha 值開頭,然後使用 rand() 函數,以對紅色、綠色和藍色產生隨機值,進而建立隨機色彩。

Example: 按單個量值著色

if(sum([Budget Amount]) > 1000000, 'cornflowerblue', magenta())

在此範例中,有一個條件。如果 sum([Budget Amount]) 大於 1 百萬,相應的量值會採用 'cornflowerblue' 著色,否則它們將採用洋紅色。

'cornflowerblue' 是色彩 rgb(100, 149, 227) 的色彩關鍵字。

magenta() 是產生洋紅色的 Qlik Sense 色彩函數。

Example: 使用彙總運算式按單個量值著色

if(avg(Value) > avg(Total aggr(avg(Value), Name)), Blue(), Brown())

在此範例中,有一個條件。若 avg(Value) 值大於整個表格的彙總 avg(Value) 值,則相應量值以藍色表示。若 avg(Value) 值小於整個表格的彙總 avg(Value) 值,則相應量值以棕色表示。

Example: 按多個量值著色

if(Sum(Sales) > 3000000, 'green', if(Sum(Sales) > 2000000, 'yellow', if(Sum(Sales) > 1000000, 'orange', red())))

在此範例中,有多個條件。如果 Sum(Sales) 大於 3,000,000,則相應量值將為綠色。如果 Sum(Sales) 介於 2,000,000 與 3,000,000 之間,則相應量值將為黃色。如果 Sum(Sales) 介於 1,000,000 與 2,000,000 之間,則相應量值將為橙色。所有其他量值將為紅色。

Example: 按多維度著色

if([CompanyName]= 'A Corp', rgb(100, 149, 227), if([CompanyName]= 'B Corp', rgb(100, 149, 200), if([CompanyName]= 'C Corp', rgb(100, 149, 175), if([CompanyName]= 'D Corp', rgb(100, 149, 150), 'grey'))))

在此範例中,運算式用於定義欄位 CompanyName 中的每個特定維度值的 RGB 色彩。

Example: 按量值定義表格物件字型和背景的色彩

if(Sum([Sales]) < 10000, 'red', green())

if(Sum([Sales]) > 200000, 'gold', )

在此範例中,兩個運算式用來著色 Sales 資料行的背景和文字。Sales 中低於 $10000 的量值帶有紅色背景,所有其他值帶有綠色背景。除此之外,超過 $200000 的值帶有 'gold' 文字色彩。

Table with color expressions.

按無色彩代碼的運算式著色

在啟用按運算式著色時,您可以透過停用運算式是色彩代碼來按無色彩代碼的運算式著色。在此著色方法中,運算式用於評估針對按照量值圖表漸層進行繪製的數字值,在按量值著色時將運算式視為一個量值。

備註: 在按運算式著色時,如果運算式包含錯誤或視覺化中的物件在運算式中被指派多種色彩,則視覺化中的物件為灰色。

Example:  

100*Sum([Sales Margin Amount])/Sum([Sales Amount])

在此範例中,圖表會基於運算式中計算的利潤率百分比套用按照量值色彩漸層。

支援的運算式格式

建立運算式時,支援以下格式。

RGB

透過 RGB 色彩,您針對紅色、綠色和藍色各輸入一個介於 0 與 255 之間的整數 (或評估為此類值的運算式)。得到的色彩由三種色彩相加產生。

Example:  

rgb(0,0,255)

在此例中產生了藍色。許多 RGB 色彩具有相應的純文字關鍵字,可用來取代 RGB 代碼。如果您使用 ''blue'' 作為運算式,您會得到完全相同的色彩。同時也支援十六進位數字,藍色使用字串 '#0000ff'

ARGB

應用程式對 ARGB 色彩模型的支援與對 RGB 色彩模型的支援相同,但會對前者加上 alpha 值以設定色彩的不透明度。

Example:  

argb(125,0,0,255)

首個值 (125) 設定 alpha 值。值 0 會產生完全的透明度,值 255 會產生完全不透明度。

HSL

HSL 中,按色調值、飽和度值以及亮度值定義色彩。您使用介於 0 和 1 之間的值。色調以色環一角的形式表示 (就像以圓形形式呈現的彩虹)。飽和度以值 1 表示完全飽和,以值 0 表示灰色陰影。亮度以值 1 表示白色,以值 0 表示黑色。

Example:  

hsl(0,0.5,0.5)

此例中產生紅色,帶有中度飽和度和亮度。

色彩關鍵字

Qlik Sense 支援 W3C 建議色彩關鍵字。使用色彩關鍵字,特定色彩由對應於 RGB 十六進位值的名稱來定義。在運算式中輸入色彩名稱以使用該色彩。

使用以下連結找到更多關於 W3C 色彩關鍵字的資訊:

Example:  

‘cornflowerblue’

此範例使用十六進位值 #6495ed 和 RGB 值 (100、149、237) 產生藍色。

Qlik Sense 色彩函數

在按運算式著色時,運算式中可使用以下色彩函數。

  • black()
  • darkgray()
  • lightgray()
  • white()
  • blue()
  • lightblue()
  • green()
  • lightgreen()
  • cyan()
  • lightcyan()
  • red()
  • lightred()
  • magenta()
  • lightmagenta()
  • brown()
  • yellow()

建立運算式

您可在屬性面板中建立色彩運算式。

請執行下列動作:

  1. 在屬性面板中,開啟外觀 > 色彩和圖標

  2. 按一下色彩按鈕,切換至自訂

  3. 在下拉式清單中,選取按照運算式選項。

    隨即開啟運算式文字方塊。

  4. 在文字方塊中輸入運算式,或按一下 3 以開啟運算式編輯器。

如果運算式有效,將更新視覺化。

See also: