Update main.py
Browse files
main.py
CHANGED
@@ -184,12 +184,12 @@ def localisation():
|
|
184 |
def plotDemandeur(dataframe, coderome):
|
185 |
df = dataframe.sort_values(by=['Indicateur'])
|
186 |
fig_demandeur = px.histogram(df, x='Indicateur', y='Valeur', height=1000, title="Demandeurs d'emploi et offres d'emploi du code ROME : " + coderome, color='Indicateur', labels={'Valeur':'Nombre'}, text_auto=True).update_layout(font=dict(size=9,color="RebeccaPurple"),autosize=True)
|
187 |
-
fig_demandeur
|
188 |
|
189 |
def plotSalaire(dataframe):
|
190 |
df = dataframe.sort_values(by=['salaire'])
|
191 |
fig_demandeur = px.histogram(df, x='emploi', y='salaire', barmode='group', title="Salaires médians", color='categorie', text_auto=True).update_layout(font=dict(size=9,color="RebeccaPurple"),autosize=True)
|
192 |
-
fig_demandeur
|
193 |
|
194 |
def plotDifficulte(dataframe):
|
195 |
if len(dataframe) == 0:
|
@@ -198,12 +198,12 @@ def plotDifficulte(dataframe):
|
|
198 |
title = "Difficulté de recrutement"
|
199 |
df = dataframe.sort_values(by=['Valeur'])
|
200 |
fig_demandeur = px.histogram(df, x='Indicateur', y='Valeur', title=title, color='Indicateur', labels={'Valeur':'Pourcentage'}, text_auto=True).update_layout(font=dict(size=9,color="RebeccaPurple"),autosize=True)
|
201 |
-
fig_demandeur
|
202 |
|
203 |
def plotRepartition(dataframe,title):
|
204 |
df = dataframe.sort_values(by=['Valeur'])
|
205 |
fig_repartition = px.pie(df, names='Indicateur', values='Valeur', color='Indicateur', title=title, labels={'Valeur':'pourcentage'}, color_discrete_sequence=px.colors.qualitative.Safe).update_traces(textposition='inside', textinfo='percent+label').update_layout(font=dict(size=10,color="RebeccaPurple"))
|
206 |
-
fig_repartition
|
207 |
|
208 |
def removeTags(all):
|
209 |
for data in all(['style', 'script']):
|
@@ -343,14 +343,22 @@ def rename(orig_author: str):
|
|
343 |
@cl.action_callback("datavizChiffresClesMetiers")
|
344 |
async def on_action(action):
|
345 |
romeListArray = ast.literal_eval(action.value)
|
|
|
346 |
for j in range(0, len(romeListArray)):
|
347 |
table = datavisualisation_chiffres_cles_emplois("https://dataemploi.pole-emploi.fr/metier/chiffres-cles/NAT/FR/" + romeListArray[j])
|
348 |
plot_demandeur = plotDemandeur(htmlToDataframe(table[0]), romeListArray[j])
|
|
|
349 |
if len(table[1]) > 0:
|
350 |
plot_salaire = plotSalaire(htmlToDataframe(table[1]))
|
|
|
351 |
plot_difficulte = plotDifficulte(htmlToDataframe(table[2]))
|
|
|
352 |
plot_repartitionContrat = plotRepartition(htmlToDataframe(table[3]), "Répartition des embauches du métier : type de contrat")
|
|
|
353 |
plot_repartitionEntreprise = plotRepartition(htmlToDataframe(table[4]), "Répartition des embauches du métier : type entreprise")
|
|
|
|
|
|
|
354 |
|
355 |
|
356 |
@cl.action_callback("download")
|
|
|
184 |
def plotDemandeur(dataframe, coderome):
|
185 |
df = dataframe.sort_values(by=['Indicateur'])
|
186 |
fig_demandeur = px.histogram(df, x='Indicateur', y='Valeur', height=1000, title="Demandeurs d'emploi et offres d'emploi du code ROME : " + coderome, color='Indicateur', labels={'Valeur':'Nombre'}, text_auto=True).update_layout(font=dict(size=9,color="RebeccaPurple"),autosize=True)
|
187 |
+
return fig_demandeur
|
188 |
|
189 |
def plotSalaire(dataframe):
|
190 |
df = dataframe.sort_values(by=['salaire'])
|
191 |
fig_demandeur = px.histogram(df, x='emploi', y='salaire', barmode='group', title="Salaires médians", color='categorie', text_auto=True).update_layout(font=dict(size=9,color="RebeccaPurple"),autosize=True)
|
192 |
+
return fig_demandeur
|
193 |
|
194 |
def plotDifficulte(dataframe):
|
195 |
if len(dataframe) == 0:
|
|
|
198 |
title = "Difficulté de recrutement"
|
199 |
df = dataframe.sort_values(by=['Valeur'])
|
200 |
fig_demandeur = px.histogram(df, x='Indicateur', y='Valeur', title=title, color='Indicateur', labels={'Valeur':'Pourcentage'}, text_auto=True).update_layout(font=dict(size=9,color="RebeccaPurple"),autosize=True)
|
201 |
+
return fig_demandeur
|
202 |
|
203 |
def plotRepartition(dataframe,title):
|
204 |
df = dataframe.sort_values(by=['Valeur'])
|
205 |
fig_repartition = px.pie(df, names='Indicateur', values='Valeur', color='Indicateur', title=title, labels={'Valeur':'pourcentage'}, color_discrete_sequence=px.colors.qualitative.Safe).update_traces(textposition='inside', textinfo='percent+label').update_layout(font=dict(size=10,color="RebeccaPurple"))
|
206 |
+
return fig_repartition
|
207 |
|
208 |
def removeTags(all):
|
209 |
for data in all(['style', 'script']):
|
|
|
343 |
@cl.action_callback("datavizChiffresClesMetiers")
|
344 |
async def on_action(action):
|
345 |
romeListArray = ast.literal_eval(action.value)
|
346 |
+
elements = []
|
347 |
for j in range(0, len(romeListArray)):
|
348 |
table = datavisualisation_chiffres_cles_emplois("https://dataemploi.pole-emploi.fr/metier/chiffres-cles/NAT/FR/" + romeListArray[j])
|
349 |
plot_demandeur = plotDemandeur(htmlToDataframe(table[0]), romeListArray[j])
|
350 |
+
elements.append(cl.Plotly(name="chart_demandeur", figure=plot_demandeur, display="inline", size="large"))
|
351 |
if len(table[1]) > 0:
|
352 |
plot_salaire = plotSalaire(htmlToDataframe(table[1]))
|
353 |
+
elements.append(cl.Plotly(name="chart_salaire", figure=plot_salaire, display="inline", size="large"))
|
354 |
plot_difficulte = plotDifficulte(htmlToDataframe(table[2]))
|
355 |
+
elements.append(cl.Plotly(name="chart_difficulte", figure=plot_difficulte, display="inline", size="large"))
|
356 |
plot_repartitionContrat = plotRepartition(htmlToDataframe(table[3]), "Répartition des embauches du métier : type de contrat")
|
357 |
+
elements.append(cl.Plotly(name="chart_repatitionContrat", figure=plot_repartitionContrat, display="inline", size="large"))
|
358 |
plot_repartitionEntreprise = plotRepartition(htmlToDataframe(table[4]), "Répartition des embauches du métier : type entreprise")
|
359 |
+
elements.append(cl.Plotly(name="chart_repartitionEntreprise", figure=plot_repartitionEntreprise, display="inline", size="large"))
|
360 |
+
|
361 |
+
await cl.Message(content="Datavisualisation des chiffres clés des Métiers", elements=elements).send()
|
362 |
|
363 |
|
364 |
@cl.action_callback("download")
|