按表达式着色
按表达式着色即通过用户定义的表达式设置颜色。在按表达式着色时,您可以同时定义要使用的颜色和与其一同使用的相关值,进一步控制可视化中的颜色使用方式。例如,您可醒目提示特别感兴趣的值,或区分不同值范围内的值。按表达式着色还可用于使用未包括在可视化内的值定义可视化的颜色,例如按产品原产国为产品及其每月销售额总和着色。
在您选择按表达式着色时,您可选择将表达式用作颜色代码,或定义如何使用表达式将按度量颜色选项应用于可视化。
以下可视化支持根据表达式着色:
- 条形图
- 组合图
- 折线图
- 地图
- 饼图
-
透视表
- 散点图
-
表格
- 树形图
按有颜色代码的表达式着色
默认情况下,如果您选择按表达式着色,表达式是一个颜色代码会被启用。如果您选择了此选项,您的表达式必须包括采用受支持表达式格式的颜色代码,用以定义要使用的颜色。使用此方法可让您手动控制可视化颜色以及可视化中所用颜色的条件。对于表格和透视表,您可以使用表达式来定义背景颜色和数据列的文本颜色。
示例
说明使用颜色表达式时执行的操作的一些示例如下。
Example: 按随机颜色范围着色
argb(255,rand()*255,rand()*255,rand()*255)
该示例使用
Example: 按单个度量值着色
if(sum([Budget Amount]) > 1000000, 'cornflowerblue', magenta())
在此范例中,有一个条件。如果
'
magenta() 是生成洋红色的 Qlik Sense 颜色函数。
Example: 使用聚合表达式按单个度量值着色
if(avg(Value) > avg(Total aggr(avg(Value), Name)), Blue(), Brown())
在此范例中,有一个条件。如果
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 的值的文本颜色为 '
按无颜色代码的表达式着色
在启用按表达式着色时,您可以通过禁用表达式是一个颜色代码来按无颜色代码的表达式着色。在此着色方法中,表达式用于评估针对按度量图表渐变进行绘制的数值,在按度量着色时将表达式视为一个度量。
Example:
100*Sum([Sales Margin Amount])/Sum([Sales Amount])
在此范例中,图表会基于表达式中计算的利润率百分比应用按度量颜色渐变。
支持的表达式格式
在创建表达式时,支持以下格式。
RGB
使用
Example:
此示例生成蓝色。
ARGB
Example:
第一个值 (125),用于设置 α 值。值 0 用于生成完全透明效果,值 255 用于生成完全不透明效果。
HSL
在
Example:
此示例生成中等饱和度和亮度的红色。
颜色关键字
Qlik Sense 支持
使用以下链接了解有关
http://www.w3.org/TR/CSS21/syndata.html#value-def-color
https://developer.mozilla.org/en-US/docs/Web/CSS/color_value
Example:
'cornflowerblue'
该示例使用十六进制值 #6495ed 以及
Qlik Sense 颜色函数
在按表达式着色时,表达式中可使用以下颜色函数。
- black()
- darkgray()
- lightgray()
- white()
- blue()
- lightblue()
- green()
- lightgreen()
- cyan()
- lightcyan()
- red()
- lightred()
- magenta()
- lightmagenta()
- brown()
- yellow()
创建表达式
可以在属性面板中为颜色创建表达式。
执行以下操作:
-
在属性面板中,打开外观 > 颜色和图例。
-
单击颜色按钮以切换至自定义。
-
在下拉列表中,选择按表达式选项。
随即打开一个表达式文本框。
-
在文本框中输入您的表达式,或单击 3 以打开表达式编辑器。
如果表达式有效,则会更新可视化。