在具有密度、聚集和计算变换的串联图表中的牛郎星间隔选择
问题描述
我在同一个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.
相关文章