У меня есть 2 DF под шляпой, которые я создал путем фильтрации и группировки более крупного DF-предшественника;
Print(DF_1)
Region Year Sales
North 2010 100
North 2011 200
North 2012 300
North 2013 400
North 2014 500
North 2015 600
South 2010 50
South 2011 100
South 2012 200
South 2013 300
South 2014 400
South 2015 500
print(DF_2)
Region Year Staff
North 2010 20
North 2011 40
North 2012 60
North 2013 80
North 2014 100
North 2015 120
South 2010 10
South 2011 20
South 2012 30
South 2013 40
South 2014 50
South 2015 60
Затем я создал две отдельные линейные диаграммы, используя следующий код:
sales = hv.Curve(DF_1, kdims=['Year','Region'],vdims=['Sales'])
staff = hv.Curve(DF_2, kdims=['Year','Region'],vdims=['Staff'])
И я могу создать один виджет выбора для каждой диаграммы, добавив (но это не то, что я хочу); panel;
Region_Names = sorted(list(DF1.Region.unique()))
Region_Select = pnw.Select(name='Region',options=Region_Names , width=250)
Однако я изо всех сил пытаюсь связать этот единственный блок выбора с двумя диаграммами, которые я создал. Кто-нибудь знает, как я могу создать единый раскрывающийся список, который будет фильтровать обе диаграммы, показывать только данные для выбранного «региона»? Я экспериментировал с ".jslink" на виджете, но мне не очень повезло.
Я перечислил свои импортированные библиотеки ниже, и помощь будет очень признательна.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import holoviews as hv
from holoviews import opts
import panel as pn
import panel.widgets as pnw
from bokeh.resources import INLINE
hv.extension('bokeh', 'matplotlib')
pd.options.plotting.backend = 'holoviews'
Большое спасибо!