SortField 和 EncodingSortField 有什么区别?

问题描述 投票:0回答:1

SortField
EncodingSortField
有什么区别?我对对轴的标记进行排序感兴趣,并且我经常在示例和讨论中看到这两个出现(
EncodingSortField
的示例,SortField
示例)。

我不知道如何解析文档字符串

EncodingSortField

用于对编码字段定义中的离散比例进行排序的排序定义。

SortField
的文档字符串进行比较:

变换的排序定义

你能解释一下这两件事之间的区别吗?我什么时候应该选择使用

EncodingSortField
而不是
SortField

vega-lite altair
1个回答
0
投票

虽然它们的名字相似,但它们的目的和用途却截然不同。

SortField
用于在可视化之前对聚合、窗口操作等转换中的基础数据进行排序。 例如:

import altair as alt
import pandas as pd

data = pd.DataFrame({
    'date': ['2021-01-01', '2021-01-02', '2021-01-03'],
    'sales': [30, 20, 50]
})

chart = alt.Chart(data).transform_window(
    sort=[alt.SortField('date')],
    cumulative_sales='sum(sales)',
    frame=[None, 0]
).mark_line().encode(
    x='date:T',
    y='cumulative_sales:Q'
)

chart

EncodingSortField
对图表轴上数据的可视化呈现/编码进行排序。 例如:

import altair as alt
import pandas as pd

data = pd.DataFrame({
    'category': ['A', 'B', 'C'],
    'value': [3, 1, 2]
})

chart = alt.Chart(data).mark_bar().encode(
    x=alt.X('category', sort=alt.EncodingSortField(field='value', order='ascending')),
    y='value'
)

chart
© www.soinside.com 2019 - 2024. All rights reserved.