rasff_shiny_app / visualizations.py
MMOON's picture
Create visualizations.py
7e1117d verified
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")