Я хочу иметь две разные диаграммы, где в первой я могу выбрать исполнителя в легенде, а во второй диаграмме я хочу иметь раскрывающийся список, который фильтрует год. В моей базе данных есть исполнители, продажи и годы (для опубликованных альбомов). Диаграммы сами по себе работают нормально, но если я захочу показать оба с помощью вертикальной конкатенации, у меня возникнет проблема. Первая диаграмма работает так, как и ожидалось, но вторая диаграмма совершенно пуста при выборе года.
import pandas as pd
# Sample Data
top = pd.DataFrame({
'Artist': ['Artist1', 'Artist2', 'Artist3', 'Artist1', 'Artist2', 'Artist3'],
'Sales': [100, 200, 300, 150, 250, 350],
'Year': ['2020', '2020', '2020', '2021', '2021', '2021'],
})
# Selection for the legend
select_artist_legend = alt.selection_point(fields=["Artist"], bind="legend")
# First plot (cumulative sales over years)
line = alt.Chart(top).transform_window(
cumulative_sales='sum(Sales)',
sort=[{'field': 'Year'}],
groupby=['Artist']
).mark_line().encode(
alt.X("Year:T"),
alt.Y("cumulative_sales:Q"),
alt.Color("Artist:N"),
opacity=alt.condition(select_artist_legend, alt.value(1.0), alt.value(0.1))
).add_params(select_artist_legend)
# Dropdown selection for the year
year_dd = alt.binding_select(options=sorted(top.Year.unique()), name="Year")
year_select = alt.selection_point(fields=["Year"], bind=year_dd, name='year_select')
# Third plot (sales by artist for selected year)
bar = alt.Chart(top).mark_bar().encode(
alt.X("Artist:N"),
alt.Y("Sales:Q"),
alt.Color("Artist:N")
).add_params(year_select).transform_filter(year_select)
# Combine the charts
combined_chart = line & bar
combined_chart
Примечание. Я использую блокноты VS Code и Python.
Я пробовал отладку и пытался еще больше разделить две диаграммы, но, похоже, это не помогло. помощь. Я также дважды пробовал складывать полосу вместо линии и полосы, но там все работает, поэтому сложение само по себе не представляло проблемы.
Я хочу иметь две разные диаграммы, где в первой я могу выбрать исполнителя в легенде, а во второй диаграмме я хочу иметь раскрывающийся список, который фильтрует год. В моей базе данных есть исполнители, продажи и годы (для опубликованных альбомов). Диаграммы сами по себе работают нормально, но если я захочу показать оба с помощью вертикальной конкатенации, у меня возникнет проблема. Первая диаграмма работает так, как и ожидалось, но вторая диаграмма совершенно пуста при выборе года. [code]import pandas as pd
# Selection for the legend select_artist_legend = alt.selection_point(fields=["Artist"], bind="legend")
# First plot (cumulative sales over years) line = alt.Chart(top).transform_window( cumulative_sales='sum(Sales)', sort=[{'field': 'Year'}], groupby=['Artist'] ).mark_line().encode( alt.X("Year:T"), alt.Y("cumulative_sales:Q"), alt.Color("Artist:N"), opacity=alt.condition(select_artist_legend, alt.value(1.0), alt.value(0.1)) ).add_params(select_artist_legend)
# Dropdown selection for the year year_dd = alt.binding_select(options=sorted(top.Year.unique()), name="Year") year_select = alt.selection_point(fields=["Year"], bind=year_dd, name='year_select')
# Third plot (sales by artist for selected year) bar = alt.Chart(top).mark_bar().encode( alt.X("Artist:N"), alt.Y("Sales:Q"), alt.Color("Artist:N") ).add_params(year_select).transform_filter(year_select)
# Combine the charts combined_chart = line & bar combined_chart [/code] Примечание. Я использую блокноты VS Code и Python. Я пробовал отладку и пытался еще больше разделить две диаграммы, но, похоже, это не помогло. помощь. Я также дважды пробовал складывать полосу вместо линии и полосы, но там все работает, поэтому сложение само по себе не представляло проблемы.
Я хочу иметь две разные диаграммы, где в первом я могу выбрать художника в легенде, а во втором диаграмме я хочу иметь выпадающий список, фильтровал год. В моей базе данных у меня есть артисты, продажи и годы (для опубликованных альбомов). Диаграммы...
У меня есть несколько фреймов данных, которые я не хочу объединять, потому что у них одинаковые имена столбцов, и я хочу, чтобы они были в разных сериях.
Итак, я создаю отдельные диаграммы и в конце поместите их в диаграмму слоев.
Однако иногда...
Я использую Altair для создания многослойной диаграммы с полосами и линиями. В этом простом примере я безуспешно пытаюсь нарисовать штрихи разных цветов. Я попробовал использовать схему масштабирования для штрих-пунктира, но цвета не изменились....
Я создавал макет сайта с использованием CodePen, чтобы накопить опыт их использования, но столкнулся с одной проблемой, несколькими препятствиями. Самое досадное на данный момент то, что при изменении размера окна в...