本文介绍颜色函数的基本语法及示例。

注意
  • 在日志服务分析语句中,表示字符串的字符必须使用单引号('')包裹,无符号包裹或被双引号("")包裹的字符表示字段名或列名。例如:'status'表示字符串status,status"status"表示日志字段status。
  • 在日志服务控制台上使用颜色函数时,查询和分析结果的可视化效果并不理想,推荐您在终端服务器上展示查询和分析结果。
    • 控制台展示效果render
    • 终端展示效果color
函数名称 语法 说明
bar函数 bar(x, width) 通过width指定整条ANSI条形图的宽度,其中该ANSI条形图的起始颜色为红色(low_color),结束颜色为绿色(high_color)。然后通过x截取其中一段ANSI条形图并返回。
bar(x, width, low_color, high_color) 通过width指定整条ANSI条形图的宽度,其中该ANSI条形图的起始颜色和结束颜色为自定义颜色。然后通过x截取其中一段ANSI条形图并返回。
color函数 color(string) 将颜色字符串转换为color类型。
color(x, low, high, low_color, high_color) 通过判断xlowhigh之间的占比指定low_colorhigh_color的份量,然后返回处于low_colorhigh_color之间的一个颜色。
color(y, low_color, high_color) 通过y指定low_colorhigh_color的份量,然后返回处于low_colorhigh_color之间的一个颜色。
render函数 render(boolean expression) 通过颜色渲染返回结果。布尔表达式为真时,返回绿色勾;否则返回红色叉。
render(x, color) 通过自定义的颜色渲染返回结果。
rgb函数 rgb(red, green, blue) 通过RGB值返回一个颜色值。

bar函数

bar函数用于绘制一条ANSI条形图。

语法

  • 通过width指定整条ANSI条形图的宽度,其中该ANSI条形图的起始颜色为红色(low_color),结束颜色为绿色(high_color)。然后通过x截取其中一段ANSI条形图并返回。
    bar(x, width)
  • 通过width指定整条ANSI条形图的宽度,其中该ANSI条形图的起始颜色和结束颜色为自定义颜色。然后通过x截取其中一段ANSI条形图并返回。
    bar(x, width, low_color, high_color)

参数说明

参数 说明
x 用于指定返回的条形图占整条ANSI条形图的比例。参数值为double类型,取值范围为[0,1]。
width 整条ANSI条形图的宽度。
low_color 颜色梯度中起始颜色的RGB值。
high_color 颜色梯度中结束颜色的RGB值。

返回值类型

varchar类型。

示例

  • 示例1:计算1小时PV占总PV的比值,然后通过ANSI条形图表示计算结果。
    • 查询和分析语句
      * |
      SELECT
        Method,
        bar(pv/m,100)
      FROM(
          SELECT
            *,
            max(pv) over() AS m
          FROM(
              SELECT
                Method,
                count(1) AS pv
              FROM         internal-operation_log
              WHERE
                __date__ > '2021-09-10 00:00:00'
                AND __date__ < '2021-09-10 01:00:00'
              GROUP BY
                Method
            )
        )
    • 查询和分析结果(控制台)bar
    • 查询和分析结果(终端)bar
  • 示例2:使用白色和红色绘制一条ANSI条形图,宽度为50。
    • 查询和分析语句
      * | SELECT bar(1,50,rgb(255,255,255),rgb(255,0,0))
    • 查询和分析结果(控制台)bar
    • 查询和分析结果(终端)bar

color函数

color函数用于获取目标值对应的颜色。

语法

  • 将颜色字符串转换为color类型。
    color(string)
  • 通过判断xlowhigh之间的占比指定low_colorhigh_color的份量,然后返回处于low_colorhigh_color之间的一个颜色。
    color(x, low, high, low_color, high_color)
  • 通过y指定low_colorhigh_color的份量,然后返回处于low_colorhigh_color之间的一个颜色。
    color(y, low_color, high_color)

参数说明

参数 说明
x 参数值为double类型。
y 参数值为double类型,取值范围为[0,1]。
low 最小值,参数值为double类型。
high 最大值,参数值为double类型。
low_color 颜色梯度中起始颜色的RGB值。
high_color 颜色梯度中结束颜色的RGB值。
string 字符串,可选值为black、red、green、yellow、blue、magenta、cyan、white或CSS样式的RGB值(例如#000)。

返回值类型

color类型。

示例

  • 示例1:将颜色字符串转换为color类型。
    • 查询和分析语句
      * | SELECT color('#000')
    • 查询和分析结果(控制台)color
    • 查询和分析结果(终端)color
  • 示例2:对request_length字段值进行取余计算并将计算结果传递给color函数,color函数根据该计算结果返回一个颜色,然后将该颜色传递给bar函数,最后通过bar函数绘制出相应的ANSI条形图。
    • 查询和分析语句
      *|SELECT x,bar(10,10, color(x, 0,10, rgb(255,0,0), rgb(0,255,0)), rgb(0,255,0)) FROM(SELECT  *FROM (SELECT  request_length%10 x FROM  log))
    • 查询和分析结果(控制台)color
    • 查询和分析结果(终端)color
  • 示例3:通过color函数返回一种颜色,然后传递给bar函数,绘制出相应的ANSI条形图。
    • 查询和分析语句
      *|SELECT x,bar(10,10, color(x, 0,10, rgb(255,0,0), rgb(0,255,0)), rgb(0,255,0)) FROM(SELECT  *FROM (SELECT  request_length%10 x FROM  log))
    • 查询和分析结果(控制台)color
    • 查询和分析结果(终端)color

render函数

render函数通过颜色渲染返回结果。

语法

  • 通过颜色渲染返回结果。布尔表达式为真时,返回绿色勾;否则返回红色叉。
    render(boolean expression)
  • 通过自定义的颜色渲染返回结果。
    render(x, color)

参数说明

参数 说明
boolean expression 布尔表达式。
x X坐标,参数值为integer类型。
color 颜色,参数值为color类型。

返回值类型

varchar类型。

示例

  • 示例1:通过count函数统计网站访问PV,然后通过render函数判断PV是否小于1000。如果小于,则返回绿色勾。
    • 查询和分析语句
      * | SELECT render(count(*)<1000)
    • 查询和分析结果(控制台)render
    • 查询和分析结果(终端)render
  • 示例2:通过count函数统计日志总数,然后使用绿色渲染计算结果。
    • 查询和分析语句
      * | SELECT render(count(*),rgb(48,169,16))
    • 查询和分析结果(控制台)render
    • 查询和分析结果(终端)render

rgb函数

rgb函数会根据RGB值返回一个颜色。

语法

rgb(red, green, blue)

参数说明

参数 说明
red 颜色中的红色份量,取值范围为[0,255],参数值为integer类型。
green 颜色中的绿色份量,取值范围为[0,255],参数值为integer类型。
blue 颜色中的蓝色份量,取值范围为[0,255],参数值为integer类型。

返回值类型

color类型。

示例

根据RGB值返回一个颜色。

  • 查询和分析语句
    *|SELECT rgb(255,0,0)
  • 查询和分析结果(控制台)rgb
  • 查询和分析结果(终端)rgb