Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import dash
- import dash_core_components as dcc
- import dash_html_components as html
- from dash.dependencies import Input, Output
- import plotly.express as px
- import re
- # Créer un dataframe avec des données aléatoires
- df = px.data.gapminder().query("year == 2007")
- # Créer une application dash
- app = dash.Dash(__name__)
- # Définir le layout de l'application
- app.layout = html.Div([
- # Un titre
- html.H1("Filtrer les légendes avec une expression regex"),
- # Un graphique plotly
- dcc.Graph(id="graph"),
- # Une text box pour entrer le regex
- html.Div([
- html.Label("Entrez une expression regex:"),
- dcc.Input(id="regex-input", type="text", value=".*")
- ])
- ])
- # Définir une fonction qui met à jour le graphique en fonction du regex
- @app.callback(
- Output("graph", "figure"),
- Input("regex-input", "value")
- )
- def update_graph(regex):
- # Créer un masque booléen pour filtrer les lignes du dataframe qui correspondent au regex
- mask = df["country"].apply(lambda x: bool(re.match(regex, x)))
- # Créer un sous-dataframe avec les lignes filtrées
- filtered_df = df[mask]
- # Créer un graphique plotly avec le sous-dataframe
- fig = px.scatter(filtered_df, x="gdpPercap", y="lifeExp", size="pop", color="continent", hover_name="country", log_x=True, size_max=60)
- # Retourner le graphique
- return fig
- # Lancer l'application
- app.run(debug=True, renderer='browser')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement