Holoviews и Panel один раскрывающийся виджет, который влияет на несколько диаграмм - PullRequest
0 голосов
/ 05 августа 2020

У меня есть 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'

Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...