Построение на Python с использованием Altair: у меня есть две диаграммы, построенные бок о бок, а правый график включает раскрывающееся меню выбора. По умолчанию раскрывающееся меню отображается в нижнем левом углу графика. Я хотел бы переместить меню под правый график, с которым оно связано. Я не вижу в документации для selection_single
или add_selection
ничего, что связано с расположением меню. Я использую метод |
для объединения графиков по горизонтали.
Упрощенный пример:
Код для создания приведенного выше примера (дайте мне знать, есть ли проблемы с доступом к источнику данных! Никаких ограничений быть не должно):
# Load the data
url = 'https://data.cityofnewyork.us/api/views/vfnx-vebw/rows.csv'
squirrel_data = pd.read_csv(url, usecols = ['Unique Squirrel ID', 'Hectare', 'Shift', 'Date','Hectare Squirrel Number'])
# source (data): https://catalog.data.gov/dataset/2018-central-park-squirrel-census-hectare-data
# Wrangle data
squirrel_data_group_shift = squirrel_data[['Hectare', 'Unique_Squirrel_ID', 'Shift']].groupby(['Hectare','Shift']).count().reset_index().head(30)
squirrel_data_group = squirrel_data[['Hectare', 'Unique_Squirrel_ID']].groupby('Hectare').count().reset_index().head(15)
# Create Dropdown selection
shifts = ['AM','PM']
shift_dropdown = alt.binding_select(options=shifts)
shift_select = alt.selection_single(fields=['Shift'], bind = shift_dropdown)
# Chart 1
shift_chart = (alt.Chart(squirrel_data_group_shift, title = 'Count by shift')
.mark_bar()
.add_selection(shift_select)
.encode(
alt.X('Hectare:N'),
alt.Y('Unique_Squirrel_ID'))
.transform_filter(shift_select))
# Chart 2
count_chart = (alt.Chart(squirrel_data_group, title = 'Total counts')
.mark_bar()
.encode(
alt.X('Hectare:N'),
alt.Y('Unique_Squirrel_ID:Q')))
# Plot side-by-side
count_chart | shift_chart