Я пытаюсь добавить ползунок к своему графику.
Ползунок основан на «годах» с 2006 по 2012 г.
Мои данные выглядят так:
Его можно скачать отсюда:
sample_data.csv
Когда я рисую диаграмму на уровне округа, она выполняет внутреннее соединение с код fips для округа с помощью transform_lookup
Это мой код:
slider = alt.binding_range(min=2006, max=2012, step=1)
select_year = alt.selection_single(name="year", fields=['year'],
bind=slider, init={'year': 2006})
alt.Chart(us_counties).mark_geoshape(
stroke='black',
strokeWidth=0.05
).project(
type='albersUsa'
).transform_lookup(
lookup='id',
from_=alt.LookupData(fdf, 'fips', ['Pill_per_pop','year'])
).transform_calculate(
Pill_per_pop='isValid(datum.Pill_per_pop) ? datum.Pill_per_pop : -1'
).encode(
color = alt.condition(
'datum.Pill_per_pop > 0',
alt.Color('Pill_per_pop:Q', scale=Scale(scheme='blues')),
alt.value('#dbe9f6')
)).add_selection(
select_year
).properties(
width=700,
height=400
).transform_filter(
select_year
)
Этот код дает мне график хороплет с ползунком, но графики неправильные.
Я чувствую, что это происходит впервые для кода fips и не фильтруется по году.
Мне кажется, это из-за метода transform_lookup, сопоставляющего идентификаторы округов с кодом FIP.
Это результат: