OpenData-Projet-RSE / statistiques.py
LaurentTRIPIED's picture
V2-Liste_MAP_Stat_01
a94f73c
raw
history blame
1.61 kB
# statistiques.py
import streamlit as st
import pandas as pd
import plotly.express as px
from data_manager import get_data
def display_companies_by_sector(df):
sector_counts = df['Section NAF'].value_counts().reset_index()
sector_counts.columns = ['Secteur', 'Nombre']
fig = px.bar(sector_counts, x='Secteur', y='Nombre', title="Répartition des entreprises par secteur d'activité",
color='Nombre', labels={'Nombre':'Nombre d\'entreprises'}, template='plotly_white')
fig.update_layout(transition_duration=500)
st.plotly_chart(fig)
def display_company_sizes(df):
fig = px.histogram(df, x='tranche_effectif_entreprise', title="Distribution des tailles d'entreprises",
labels={'tranche_effectif_entreprise':'Taille de l\'entreprise'}, template='plotly_white')
fig.update_traces(marker_color='green')
st.plotly_chart(fig)
def display_rse_actions_wordcloud(df):
# Génération d'un nuage de mots serait normalement fait ici.
# Un placeholder pour l'intégration d'un vrai nuage de mots en utilisant une bibliothèque appropriée.
st.title("Cartographie des Actions RSE")
st.markdown("Cette section affichera un nuage de mots des actions RSE.")
def main():
st.title("Statistiques sur les entreprises engagées RSE")
data, _ = get_data()
df = pd.DataFrame(data)
if not df.empty:
display_companies_by_sector(df)
display_company_sizes(df)
display_rse_actions_wordcloud(df)
else:
st.write("Aucune donnée à afficher pour le moment.")
if __name__ == "__main__":
main()