import plotly.express as px import pandas as pd def generate_notifying_map(df: pd.DataFrame): # Carte des pays notifiants return px.choropleth( df.groupby('notification_from').size().reset_index(name='count'), locations='notification_from', locationmode='country names', color='count', scope="europe", title="European Map of Notifying Countries", color_continuous_scale='Blues' ) def generate_origin_map(df: pd.DataFrame): # Carte des pays d'origine return px.choropleth( df.groupby('country_origin').size().reset_index(name='count'), locations='country_origin', locationmode='country names', color='count', title="World Map of Origin Countries", color_continuous_scale='Reds' ) def generate_product_bar(df: pd.DataFrame): # Graphique à barres pour les catégories de produits product_counts = df['prodcat'].value_counts().head(10) return px.bar(product_counts, x=product_counts.index, y=product_counts.values, title="Top Product Categories") def generate_hazard_pie(df: pd.DataFrame): # Graphique en camembert pour les catégories de dangers hazard_counts = df['hazcat'].value_counts().head(10) return px.pie(hazard_counts, values=hazard_counts.values, names=hazard_counts.index, title="Top 10 Hazard Categories")