créé moi un graphique en histogramme empilé qui permet, par filiale de montrer le coût annuel de différents produits chimiques qui appartiennent à des groupes différents (les couleurs seront par groupe et pas parproduit)
To upload files, please first save the app
import streamlit as st
import pandas as pd
import numpy as np
# Création des données exemple
np.random.seed(42)
# Créer des données fictives
subsidiaries = ['Filiale A', 'Filiale B', 'Filiale C', 'Filiale D']
chemical_groups = ['Solvants', 'Acides', 'Bases']
chemicals = {
'Solvants': ['Acétone', 'Éthanol', 'Méthanol'],
'Acides': ['Acide sulfurique', 'Acide chlorhydrique', 'Acide nitrique'],
'Bases': ['Soude caustique', 'Ammoniaque', 'Potasse']
}
# Créer un DataFrame avec les données
data = []
for subsidiary in subsidiaries:
for group in chemical_groups:
for chemical in chemicals[group]:
cost = np.random.uniform(1000, 10000) # Coût annuel aléatoire entre 1000 et 10000
data.append({
'Filiale': subsidiary,
'Groupe': group,
'Produit': chemical,
'Coût': cost
})
df = pd.DataFrame(data)
# Agréger les données par filiale et groupe chimique
df_grouped = df.groupby(['Filiale', 'Groupe'])['Coût'].sum().reset_index()
# Interface Streamlit
st.title('Coûts annuels des produits chimiques par filiale')
st.markdown("""
Ce graphique montre la répartition des coûts annuels des produits chimiques par filiale.
Les couleurs représentent les différents groupes de produits chimiques.
""")
# Créer le graphique en barres empilées
st.bar_chart(
data=df_grouped,
x='Filiale',
y='Coût',
color='Groupe'
)
# Afficher les données détaillées dans un tableau
st.subheader('Données détaillées')
st.dataframe(df_grouped.pivot(index='Filiale', columns='Groupe', values='Coût').round(2))
Hi! I can help you with any questions about Streamlit and Python. What would you like to know?