import dash_html_components as html from dash import no_update import pandas as pd import pyLDAvis import pyLDAvis.gensim from app import app from topic_model import TopicModel from data_parser import DataParser data_parser = DataParser() tm = TopicModel() df = data_parser.letters_to_df() pos_counts = data_parser.get_pos_counts() rank_set, rank_list = data_parser.get_rank() rel_set, rel_list = data_parser.get_relationship() years_set = data_parser.get_years() pos_tags = data_parser.get_pos_list() # Callback for the slider element @app.callback( Output('slider-output', 'children' ), # Modified string with the years is passed to the Div-element Output( 'slider-values', 'value' ), # Unmodified list of the selected years is passed to the next callback Input('time-slider', 'value')) def set_cities_options(selected_years): years = 'Selected period: {start} - {end}'.format(start=selected_years[0], end=selected_years[1])
dcc.Dropdown( id = 'rank-filter', options = data_parser.get_rank()[1], value = list(data_parser.get_rank()[0]), multi = True ) ] ), html.Br(), html.Div( children=[ 'Select letters based on the relationship between sender and recipient: ', # Dash Dropdown component for selecting the relationship tag for filtering the data dcc.Dropdown( id = 'rel-filter', options = data_parser.get_relationship()[1], value = list(data_parser.get_relationship()[0]), multi = True ) ] ), html.Br(), html.Div( children=[ 'Select time range for the letters to be used in the model: ', # Dash Slider component for selecting the time range dcc.RangeSlider( id='time-slider', min=min(data_parser.get_years()), max=max(data_parser.get_years()), step=1,