Extent#

extent 转换可用于查找字段的范围,并将结果存储在参数中。

例如,考虑以下数据集

import pandas as pd
df = pd.DataFrame(
    [
        {"a": "A", "b": 28},
        {"a": "B", "b": 55},
        {"a": "C", "b": 43},
        {"a": "D", "b": 91},
        {"a": "E", "b": 81},
        {"a": "F", "b": 53},
        {"a": "G", "b": 19},
        {"a": "H", "b": 87},
        {"a": "I", "b": 52},
    ]
)

我们可以使用 extent 转换提取列 b 的最小值和最大值,然后使用这些值来放置规则线

import altair as alt

base = alt.Chart(df, title="A Simple Bar Chart with Lines at Extents").transform_extent(
    extent="b", param="b_extent"
)
bars = base.mark_bar().encode(x="b", y="a")
lower_extent_rule = base.mark_rule(stroke="firebrick").encode(
    x=alt.value(alt.expr("scale('x', b_extent[0])"))
)
upper_extent_rule = base.mark_rule(stroke="firebrick").encode(
    x=alt.value(alt.expr("scale('x', b_extent[1])"))
)
bars + lower_extent_rule + upper_extent_rule

转换选项#

transform_extent() 方法基于 ExtentTransform 类构建,该类具有以下选项

点击显示表格

属性

类型

描述

extent

FieldName

要获取范围的字段。

param

ParameterName

extent 转换产生的输出参数。