如何解决具有“密度”、“聚合”和“计算”变换的串联图表中的 Altair 间隔选择
我有两个建立在同一个 DF 上的串联图表。左图是一列数据的密度变换,右图是其他数据列聚合的散点图。
我想在左侧进行间隔选择,并相应地过滤变换右侧。然而,无论我选择什么,右侧都会丢失所有数据点。
谁能看到我在这里做错了什么?
import altair as alt
from vega_datasets import data
source = data.iris()
brush = alt.selection(type='interval',encodings=['x'])
PDFs = alt.Chart(source
).transform_density(
'sepalWidth',as_=['size','density'],groupby=['species']
).mark_line().encode(
x='size:Q',y='density:Q',color='species'
).add_selection(
brush
)
Scatter = alt.Chart(source
).transform_aggregate(
Frequency = 'count()',petalL_mean = 'mean(petalLength)',petalW_mean = 'mean(petalWidth)',sepalL_mean = 'mean(sepalLength)',groupby = ['species']
).transform_calculate(
Value = 'datum.Frequency / (datum.petalL_mean * datum.petalW_mean)'
).mark_point().encode(
x = 'sepalL_mean:Q',y = 'Value:Q',color='species'
).transform_filter(
brush
)
PDFs | Scatter
解决方法
Interval selection cannot be used for aggregate charts yet in Vega-Lite. 错误行为已更新 in a recent PR to Vega-Lite to show a helpful message.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。