altair.expr#

class altair.expr(expr)#

提供用于构建表达式的*常量*和*类方法*的工具。

表达式可用于编写基本公式,从而实现自定义交互。

或者,可以通过expr()定义内联表达式

参数:
expr: str

一个vega 表达式字符串。

返回:
ExprRef

示例

>>> import altair as alt
>>> bind_range = alt.binding_range(min=100, max=300, name="Slider value:  ")
>>> param_width = alt.param(bind=bind_range, name="param_width")
>>> param_color = alt.param(
...     expr=alt.expr.if_(param_width < 200, "red", "black"),
...     name="param_color",
... )
>>> y = alt.Y("yval").axis(titleColor=param_color)
>>> y
Y({
  axis: {'titleColor': Parameter('param_color', VariableParameter({
    expr: if((param_width < 200),'red','black'),
    name: 'param_color'
  }))},
  shorthand: 'yval'
})
__init__(expr=Undefined, **kwds)#

方法

__init__([expr])

abs(value, /)

返回 value 的绝对值。

acos(value, /)

三角函数的反余弦(acos)。

asin(value, /)

三角函数的反正弦(asin)。

atan(value, /)

三角函数的反正切(atan)。

atan2(dy, dx, /)

返回 *dy / dx* 的反正切。

bandspace(count[, paddingInner, paddingOuter])

根据定义域元素的 count 以及内部和外部填充值,返回带状比例尺所需的步数。

bandwidth(name[, group])

返回命名带状比例尺转换的当前带宽;如果未找到比例尺或比例尺不是带状比例尺,则返回零。

ceil(value, /)

value 向上舍入到最接近且大于或等于它的整数。

clamp(value, min, max, /)

value 限制在指定的 minmax 之间。

clampRange(range, min, max, /)

以保留跨度的方式钳制一个包含两个元素的 range 数组。

containerSize()

返回包含 Vega 视图的父 DOM 元素的当前 CSS 盒模型尺寸([el.clientWidth, el.clientHeight])。

contrast(specifier1, specifier2, /)

返回输入颜色指定器之间的对比度,作为一个介于 1 和 21 之间的浮点数。

copy(name[, group])

返回命名比例尺转换或投影的副本(新的克隆实例);如果未找到比例尺或投影,则返回 undefined

cos(value, /)

三角函数的余弦(cos)。

cumulativeLogNormal(value[, mean, stdev])

返回对数正态分布在给定输入定义域 value 处的累积分布函数值,该分布具有指定的对数 mean 和对数标准差 stdev

cumulativeNormal(value[, mean, stdev])

返回正态分布在给定输入定义域 value 处的累积分布函数值,该分布具有指定的 mean 和标准差 stdev

cumulativeUniform(value[, min, max])

返回在区间 [min, max] 上均匀分布在给定输入定义域 value 处的累积分布函数值。

data(name, /)

返回具有给定 name 的 Vega 数据集的数据对象数组。

date(datetime, /)

返回给定 datetime 值的月份日期(本地时间)。

datetime(year, month[, day, hour, min, sec, ...])

返回一个新的 Date 实例。

day(datetime, /)

返回给定 datetime 值的星期几(本地时间)。

dayAbbrevFormat(day, /)

根据当前区域设置,将 (0-6) *星期几* 数字格式化为缩写的星期几名称。

dayFormat(day, /)

根据当前区域设置,将 (0-6) *星期几* 数字格式化为完整的星期几名称。

dayofyear(datetime, /)

返回给定 datetime 值的一年中的第几天(从 1 开始计算,本地时间)。

debug(value1[, value2])

记录调试消息并返回最后一个参数。

densityLogNormal(value[, mean, stdev])

返回对数正态分布在给定输入定义域 value 处的概率密度函数值,该分布具有指定的对数 mean 和对数标准差 stdev

densityNormal(value[, mean, stdev])

返回正态分布在给定输入定义域 value 处的概率密度函数值,该分布具有指定的 mean 和标准差 stdev

densityUniform(value[, min, max])

返回在区间 [min, max] 上均匀分布在给定输入定义域 value 处的概率密度函数值。

domain(name[, group])

返回命名比例尺转换的比例尺定义域数组;如果未找到比例尺,则返回空数组。

exp(exponent, /)

返回 *e* 的 exponent 次幂。

extent(array, /)

返回一个新的 *[min, max]* 数组,其中包含输入数组的最小值和最大值,忽略 nullundefinedNaN 值。

floor(value, /)

value 向下舍入到最接近且小于或等于它的整数。

format(value, specifier, /)

将数值 value 格式化为字符串。

from_dict(dct[, validate])

从字典表示构建类。

from_json(json_string[, validate])

从有效的 JSON 字符串实例化对象。

geoArea(projection, feature[, group])

根据命名的 projection,返回 GeoJSON feature 的投影平面面积(通常以平方像素为单位)。

geoBounds(projection, feature[, group])

根据命名的 projection,返回指定 GeoJSON feature 的投影平面边界框(通常以像素为单位)。

geoCentroid(projection, feature[, group])

根据命名的 projection,返回指定 GeoJSON feature 的投影平面中心点(通常以像素为单位)。

geoScale(projection[, group])

返回命名 projection 的比例尺值。

gradient(scale, p0, p1[, count])

返回 scale(其范围必须是连续配色方案)的线性颜色渐变,以及起点 p0 和终点 p1,每个点都是一个 *[x, y]* 数组。

group([name])

返回当前事件发生时的场景图组标记项。

hcl(*args)

构造一个新的HCL(色相、彩度、亮度)颜色。

hours(datetime, /)

返回给定 datetime 值的小时分量(本地时间)。

hsl(*args)

构造一个新的HSL颜色。

hypot(value, /)

返回其参数平方和的平方根。

if_(test, thenValue, elseValue, /)

如果 test 为真值,则返回 thenValue

inScope(item, /)

如果给定的场景图 item 是定义事件处理程序的组标记的后代,则返回 true,否则返回 false。

indata(name, field, value, /)

测试具有给定 name 的数据集是否包含一个数据,该数据的 field 值与输入 value 匹配。

indexof(array, value, /)

返回 value 在输入 array 中的第一个索引。

info(value1[, value2])

记录信息性消息并返回最后一个参数。

inrange(value, range, /)

测试 value 是否位于 range 数组的第一个和最后一个值之间(或等于其中一个值)。

invert(name, value[, group])

反转指定 value 的命名比例尺转换(或投影)。

isArray(value, /)

如果 value 是数组,则返回 true,否则返回 false。

isBoolean(value, /)

如果 value 是布尔值(truefalse),则返回 true,否则返回 false。

isDate(value, /)

如果 value 是 Date 对象,则返回 true,否则返回 false。

isDefined(value, /)

如果 value 是已定义的值,则返回 true;如果 value 等于 undefined,则返回 false。

isFinite(value, /)

如果 value 是有限数,则返回 true。

isNaN(value, /)

如果 value 不是数字,则返回 true。

isNumber(value, /)

如果 value 是数字,则返回 true,否则返回 false。

isObject(value, /)

如果 value 是对象(包括数组和 Date),则返回 true,否则返回 false。

isRegExp(value, /)

如果 value 是 RegExp(正则表达式)对象,则返回 true,否则返回 false。

isString(value, /)

如果 value 是字符串,则返回 true,否则返回 false。

isValid(value, /)

如果 value 不是 nullundefinedNaN,则返回 true,否则返回 false。

item()

返回当前事件的目标场景图项。

join(array[, separator])

通过将输入 array 的所有元素连接起来形成新字符串,元素之间用逗号或指定的 separator 字符串分隔。

lab(*args)

构造一个新的CIE LAB 颜色。

lastindexof(array, value, /)

返回 value 在输入 array 中的最后一个索引。

length(array, /)

返回输入 array 的长度。

lerp(array, fraction, /)

根据提供的插值 fraction(通常介于 0 和 1 之间),返回 array 中第一个和最后一个条目之间的线性插值结果。

log(value, /)

返回 value 的自然对数。

lower(string, /)

string 转换为小写字母。

luminance(specifier, /)

返回给定颜色 specifier 的亮度(与d3-color 的 rgb 函数兼容)。

max(value1, value2, *args)

返回参数的最大值。

merge(object1[, object2])

将输入对象 object1object2 等合并到一个新的输出对象中。

milliseconds(datetime, /)

返回给定 datetime 值的毫秒分量(本地时间)。

min(value1, value2, *args)

返回参数的最小值。

minutes(datetime, /)

返回给定 datetime 值的分钟分量(本地时间)。

month(datetime, /)

返回给定 datetime 马的值的月份(基于零计算,本地时间)。

monthAbbrevFormat(month, /)

根据当前区域设置,将(基于零计算的)month 数字格式化为缩写的月份名称。

monthFormat(month, /)

根据当前区域设置,将(基于零计算的)month 数字格式化为完整的月份名称。

now()

返回当前时间的 Unix 时间戳。

pad(string, length[, character, align])

用重复的 character 实例填充 string 值,直到指定的 length

panLinear(domain, delta, /)

给定一个包含数字或 datetime 值的线性比例尺 domain 数组,返回一个新的包含两个元素的 domain 数组,它是通过按小数 delta 平移 domain 的结果。

panLog(domain, delta, /)

给定一个包含数字或 datetime 值的对数比例尺 domain 数组,返回一个新的包含两个元素的 domain 数组,它是通过按小数 delta 平移 domain 的结果。

panPow(domain, delta, exponent, /)

给定一个包含数字或 datetime 值以及给定 exponent 的幂比例尺 domain 数组,返回一个新的包含两个元素的 domain 数组,它是通过按小数 delta 平移 domain 的结果。

panSymlog(domain, delta, constant, /)

给定一个包含数字或 datetime 值并由给定 constant 参数化的对称对数比例尺 domain 数组,返回一个新的包含两个元素的 domain 数组,它是通过按小数 delta 平移 domain 的结果。

parseFloat(string, /)

将输入 string 解析为浮点值。

parseInt(string, /)

将输入 string 解析为整数值。

peek(array, /)

返回输入 array 中的最后一个元素。

pinchAngle(event, /)

返回多点触控事件前两个触点的连线的角度。

pinchDistance(event, /)

返回多点触控事件前两个触点之间的像素距离。

pluck(array, field, /)

从给定的对象 array 中检索指定 field 的值。

pow(value, exponent, /)

返回 valueexponent 次幂。

quantileLogNormal(probability[, mean, stdev])

对于具有指定对数 mean 和对数标准差 stdev 的对数正态分布,返回给定输入 probability 的分位数(累积分布函数的逆)。

quantileNormal(probability[, mean, stdev])

对于具有指定 mean 和标准差 stdev 的正态分布,返回给定输入 probability 的分位数(累积分布函数的逆)。

quantileUniform(probability[, min, max])

对于在区间 [min, max] 上均匀分布,返回给定输入 probability 的分位数(累积分布函数的逆)。

quarter(datetime, /)

返回给定 datetime 值的年份季度(0-3,本地时间)。

random()

返回范围 [0,1) 内的伪随机数。

range(name[, group])

返回命名比例尺转换的比例尺范围数组;如果未找到比例尺,则返回空数组。

regexp(pattern[, flags])

根据输入 pattern 字符串和可选的 flags 创建一个正则表达式实例。

replace(string, pattern, replacement, /)

返回一个新的字符串,其中 pattern 的部分或所有匹配项已被 replacement 字符串替换。

resolve_references([schema])

在此对象的模式或根模式的上下文中解析引用。

reverse(array, /)

返回一个新数组,其元素顺序与输入 array 相反。

rgb(*args)

构造一个新的RGB颜色。

round(value, /)

value 四舍五入到最接近的整数。

sampleLogNormal([mean, stdev])

从具有指定对数 mean 和对数标准差 stdev 的单变量对数正态概率分布中返回一个样本。

sampleNormal([mean, stdev])

从具有指定 mean 和标准差 stdev 的单变量正态(高斯)概率分布中返回一个样本。

sampleUniform([min, max])

从在区间 [min, max`] 上的单变量连续均匀概率分布中返回一个样本。

scale(name, value[, group])

将命名比例尺转换(或投影)应用于指定的 value

screen()

返回 window.screen 对象,如果 Vega 未在浏览器环境中运行,则返回 `{}`。

seconds(datetime, /)

返回给定 datetime 值的秒分量(本地时间)。

sequence(*args)

返回包含数字算术序列的数组。

sin(value, /)

三角函数的正弦(sin)。

slice(array, start[, end])

返回 arraystartend 索引之间的部分。

span(array, /)

返回 array 的跨度:最后一个元素与第一个元素的差值,即 *array[array.length-1] - array[0]*。

sqrt(value, /)

平方根函数。

substring(string, start[, end])

返回 stringstartend 索引之间的部分。

tan(value, /)

三角函数的正切(tan)。

test(regexp[, string])

根据输入 string 评估正则表达式 regexp,如果字符串匹配模式则返回 true,否则返回 false

time(datetime, /)

返回给定 datetime 值的基于 epoch 的时间戳。

timeFormat(value, specifier, /)

根据本地时间,将 datetime value(可以是 Date 对象或时间戳)格式化为字符串。

timeOffset(unit, date[, step])

返回一个新的 Date 实例,该实例将给定的 date 在本地时区按指定时间*单位*进行偏移。

timeParse(string, specifier, /)

根据本地时间,将 string 值解析为 Date 对象。

timeSequence(unit, start, stop[, step])

返回从 start(包含)到 stop(不包含)的 Date 实例数组,每个条目在本地时区按指定时间*单位*分隔。

timeUnitSpecifier(units[, specifiers])

返回给定时间*单位*的时间格式指定字符串。

timezoneoffset(datetime, /)

返回给定 datetime 值从本地时区到 UTC 的时区偏移量。

toBoolean(value, /)

将输入 value 强制转换为布尔值。

toDate(value, /)

将输入 value 强制转换为 Date 实例。

toNumber(value, /)

将输入 value 强制转换为数字。

toString(value, /)

将输入 value 强制转换为布尔值。

to_dict([validate, ignore, context])

返回对象的字典表示。

to_json([validate, indent, sort_keys, ...])

将此对象的 JSON 表示作为字符串输出。

treeAncestors(name, node, /)

对于具有给定 name 的层次数据集,返回从输入 node 马开始,然后向上直到根节点的祖先节点数组。

treePath(name, source, target, /)

对于具有给定 name 的层次数据集,返回从 source 节点 id 到 target 节点 id 的最短路径。

trim(string, /)

返回去除前导和尾随空白字符的修剪后的字符串。

truncate(string, length[, align, ellipsis])

将输入 string 截断到目标 length

upper(string, /)

string 转换为大写字母。

utc(year, month[, day, hour, min, sec, millisec])

返回给定 UTC 日期的 Unix 时间戳。

utcFormat(value, specifier, /)

根据UTC时间,将 datetime value(可以是 Date 对象或时间戳)格式化为字符串。

utcOffset(unit, date[, step])

返回一个新的 Date 实例,该实例将给定的 date 在 UTC 时间按指定时间*单位*进行偏移。

utcParse(value, specifier, /)

根据UTC时间,将 *string* 值解析为 Date 对象。

utcSequence(unit, start, stop[, step])

返回从 start(包含)到 stop(不包含)的 Date 实例数组,每个条目在 UTC 时间按指定时间*单位*分隔。

utcdate(datetime, /)

返回给定 datetime 值的月份日期(UTC时间)。

utcday(datetime, /)

返回给定 datetime 值的星期几(UTC时间)。

utcdayofyear(datetime, /)

返回给定 datetime 值的一年中的第几天(从 1 开始计算,UTC时间)。

utchours(datetime, /)

返回给定 datetime 值的小时分量(UTC时间)。

utcmilliseconds(datetime, /)

返回给定 datetime 值的毫秒分量(UTC时间)。

utcminutes(datetime, /)

返回给定 datetime 值的分钟分量(UTC时间)。

utcmonth(datetime, /)

返回给定 datetime 值的月份(基于零计算,UTC时间)。

utcquarter(datetime, /)

返回给定 datetime 值的年份季度(0-3,UTC时间)。

utcseconds(datetime, /)

返回给定 datetime 值的秒分量(UTC时间)。

utcweek(date, /)

返回给定 *datetime* 在一年中的周数(UTC时间)。

utcyear(datetime, /)

返回给定 datetime 值的年份(UTC时间)。

validate(instance[, schema])

在根模式的上下文中,根据类模式验证实例。

validate_property(name, value[, schema])

在根模式的上下文中,根据属性模式验证属性。

warn(value1[, value2])

记录警告消息并返回最后一个参数。

week(date, /)

返回给定 *datetime* 在一年中的周数(本地时间)。

windowSize()

返回当前窗口尺寸([window.innerWidth, window.innerHeight]),如果 Vega 未在浏览器环境中运行,则返回 [undefined, undefined]

x([item])

返回当前事件的 x 坐标。

xy([item])

将当前事件的 x 和 y 坐标作为包含两个元素的数组返回。

y([item])

返回当前事件的 y 坐标。

year(datetime, /)

返回给定 datetime 值的年份(本地时间)。

zoomLinear(domain, anchor, scaleFactor, /)

给定一个包含数字或 datetime 值的线性比例尺 domain 数组,返回一个新的包含两个元素的 domain 数组,它是通过以提供的分数 anchor 为中心,按 scaleFactor 缩放 domain 的结果。

zoomLog(domain, anchor, scaleFactor, /)

给定一个包含数字或 datetime 值的对数比例尺 domain 数组,返回一个新的包含两个元素的 domain 数组,它是通过以提供的分数 anchor 为中心,按 scaleFactor 缩放 domain 的结果。

zoomPow(domain, anchor, scaleFactor, exponent, /)

给定一个包含数字或 datetime 值以及给定 exponent 的幂比例尺 domain 数组,返回一个新的包含两个元素的 domain 数组,它是通过以提供的分数 anchor 为中心,按 scaleFactor 缩放 domain 的结果。

zoomSymlog(domain, anchor, scaleFactor, ...)

给定一个包含数字或 datetime 值并由给定 constant 参数化的对称对数比例尺 domain 数组,返回一个新的包含两个元素的 domain 数组,它是通过以提供的分数 anchor 为中心,按 scaleFactor 缩放 domain 的结果。