datacipen commited on
Commit
f6814f5
·
verified ·
1 Parent(s): a2259d7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -5
app.py CHANGED
@@ -867,16 +867,22 @@ def create_repartition(array_value, selectedData, theme):
867
 
868
  ######## Filtre Emplois ########
869
  options = []
 
 
870
  if selectedData != None:
871
  customEmplois = selectedData['points'][0]['y'][:-3]
872
  if type(selectedData['points'][0]['y']) == str:
873
  options.append(selectedData['points'][0]['y'][:-3])
 
874
  else:
875
  options = selectedData['points'][0]['y'][:-3]
 
876
  else:
877
  customEmplois = " "
878
  options = df['intitule'].values.tolist()
 
879
  df = df[df['intitule'].isin(options)]
 
880
 
881
  ######## localisation ########
882
  ListCentroids = localisation()
@@ -911,7 +917,7 @@ def create_repartition(array_value, selectedData, theme):
911
  text='La répartition géographique des emplois<br><b>{}</b>'.format(customEmplois),font=dict(color="black",size=14))
912
 
913
  ######## Compétences professionnelles ########
914
- df_FT.dropna(subset=['qualitesProfessionnelles','formations','competences'], inplace=True)
915
  df_FT["competences"] = df_FT["competences"].apply(lambda x:[str(e['libelle']) for e in x]).apply(lambda x:'; '.join(map(str, x)))
916
  df_FT["qualitesProfessionnelles"] = df_FT["qualitesProfessionnelles"].apply(lambda x:[str(e['libelle']) + ": " + str(e['description']) for e in x]).apply(lambda x:'; '.join(map(str, x)))
917
 
@@ -921,7 +927,9 @@ def create_repartition(array_value, selectedData, theme):
921
  df_comp = df_comp.groupby('competences').size().reset_index(name='obs')
922
  df_comp = df_comp.sort_values(by=['obs'])
923
  df_comp = df_comp.iloc[-25:]
924
- fig_competences = px.bar(df_comp, x='obs', y='competences', orientation='h', color='obs', height=600, template=template, title="Les principales compétences professionnelles", labels={'obs':'nombre'}, color_continuous_scale="Teal", text_auto=True).update_layout(font=dict(size=10),paper_bgcolor=paper_bgcolor,plot_bgcolor=plot_bgcolor,clickmode='event+select',autosize=True).update_traces(hovertemplate=df_comp["competences"] + ' <br>Nombre : %{x}', y=[y[:100] + "..." for y in df_comp['competences']], showlegend=False)
 
 
925
 
926
  ######## Compétences transversales ########
927
  df_transversales = df_FT
@@ -930,19 +938,25 @@ def create_repartition(array_value, selectedData, theme):
930
  df_comptransversales = df_comptransversales.groupby('qualitesProfessionnelles').size().reset_index(name='obs')
931
  df_comptransversales = df_comptransversales.sort_values(by=['obs'])
932
  df_comptransversales = df_comptransversales.iloc[-25:]
933
- fig_transversales = px.bar(df_comptransversales, x='obs', y='qualitesProfessionnelles', orientation='h', color='obs', height=600, template=template, title="Les principales compétences transversales", labels={'obs':'nombre'}, color_continuous_scale="Teal", text_auto=True).update_layout(font=dict(size=10),paper_bgcolor=paper_bgcolor,plot_bgcolor=plot_bgcolor,autosize=True).update_traces(hovertemplate=df_comptransversales["qualitesProfessionnelles"] + ' <br>Nombre : %{x}', y=[y[:80] + "..." for y in df_comptransversales["qualitesProfessionnelles"]], showlegend=False)
 
 
934
 
935
  ######## Niveaux de qualification ########
936
  df_niveau = df_FT
937
  df_niveau["formations"] = df_niveau["formations"].apply(lambda x:[str(e['niveauLibelle']) for e in x]).apply(lambda x:'; '.join(map(str, x)))
938
  df_niveau = df_niveau.groupby('formations').size().reset_index(name='obs')
939
- fig_niveau = px.pie(df_niveau, names='formations', height=600, values='obs', color='obs', template=template, title="Les niveaux de qualification", labels={'obs':'nombre'}, color_discrete_sequence=px.colors.qualitative.Safe).update_traces(textposition='inside', textinfo='percent+label').update_layout(font=dict(size=10),paper_bgcolor=paper_bgcolor)
 
 
940
 
941
  ######## Secteurs ########
942
  df_secteur = df.groupby('secteurActiviteLibelle').size().reset_index(name='obs')
943
  df_secteur = df_secteur.sort_values(by=['obs'])
944
  df_secteur = df_secteur.iloc[-25:]
945
- fig_secteur = px.bar(df_secteur, x='obs', y='secteurActiviteLibelle', height=600, orientation='h', color='obs', template=template, title="Les principaux secteurs d'activités", labels={'obs':'nombre'}, color_continuous_scale="Teal", text_auto=True).update_layout(font=dict(size=10),paper_bgcolor=paper_bgcolor,plot_bgcolor=plot_bgcolor,autosize=True).update_traces(hovertemplate=df_secteur["secteurActiviteLibelle"] + ' <br>Nombre : %{x}', y=[y[:80] + "..." for y in df_secteur["secteurActiviteLibelle"]], showlegend=False)
 
 
946
 
947
 
948
  return fig_localisation, fig_competences, fig_transversales, fig_niveau, fig_secteur
 
867
 
868
  ######## Filtre Emplois ########
869
  options = []
870
+ options_FT = []
871
+ df_FT.dropna(subset=['intitule', 'qualitesProfessionnelles','formations','competences'], inplace=True)
872
  if selectedData != None:
873
  customEmplois = selectedData['points'][0]['y'][:-3]
874
  if type(selectedData['points'][0]['y']) == str:
875
  options.append(selectedData['points'][0]['y'][:-3])
876
+ options_FT.append(selectedData['points'][0]['y'][:-3])
877
  else:
878
  options = selectedData['points'][0]['y'][:-3]
879
+ options_FT = selectedData['points'][0]['y'][:-3]
880
  else:
881
  customEmplois = " "
882
  options = df['intitule'].values.tolist()
883
+ options_FT = df_FT['intitule'].values.tolist()
884
  df = df[df['intitule'].isin(options)]
885
+ df_FT = df_FT[df_FT['intitule'].isin(options_FT)]
886
 
887
  ######## localisation ########
888
  ListCentroids = localisation()
 
917
  text='La répartition géographique des emplois<br><b>{}</b>'.format(customEmplois),font=dict(color="black",size=14))
918
 
919
  ######## Compétences professionnelles ########
920
+ #df_FT.dropna(subset=['intitule', 'qualitesProfessionnelles','formations','competences'], inplace=True)
921
  df_FT["competences"] = df_FT["competences"].apply(lambda x:[str(e['libelle']) for e in x]).apply(lambda x:'; '.join(map(str, x)))
922
  df_FT["qualitesProfessionnelles"] = df_FT["qualitesProfessionnelles"].apply(lambda x:[str(e['libelle']) + ": " + str(e['description']) for e in x]).apply(lambda x:'; '.join(map(str, x)))
923
 
 
927
  df_comp = df_comp.groupby('competences').size().reset_index(name='obs')
928
  df_comp = df_comp.sort_values(by=['obs'])
929
  df_comp = df_comp.iloc[-25:]
930
+ fig_competences = px.bar(df_comp, x='obs', y='competences', orientation='h', color='obs', height=600, template=template, labels={'obs':'nombre'}, color_continuous_scale="Teal", text_auto=True).update_layout(font=dict(size=10),paper_bgcolor=paper_bgcolor,plot_bgcolor=plot_bgcolor,clickmode='event+select',autosize=True).update_traces(hovertemplate=df_comp["competences"] + ' <br>Nombre : %{x}', y=[y[:100] + "..." for y in df_comp['competences']], showlegend=False).add_annotation(x=0, y=1.0, xanchor='left', yanchor='bottom',
931
+ xref='paper', yref='paper', showarrow=False, align='left',
932
+ text='Les principales compétences professionnelles<br><b>{}</b>'.format(customEmplois),font=dict(size=14))
933
 
934
  ######## Compétences transversales ########
935
  df_transversales = df_FT
 
938
  df_comptransversales = df_comptransversales.groupby('qualitesProfessionnelles').size().reset_index(name='obs')
939
  df_comptransversales = df_comptransversales.sort_values(by=['obs'])
940
  df_comptransversales = df_comptransversales.iloc[-25:]
941
+ fig_transversales = px.bar(df_comptransversales, x='obs', y='qualitesProfessionnelles', orientation='h', color='obs', height=600, template=template, labels={'obs':'nombre'}, color_continuous_scale="Teal", text_auto=True).update_layout(font=dict(size=10),paper_bgcolor=paper_bgcolor,plot_bgcolor=plot_bgcolor,autosize=True).update_traces(hovertemplate=df_comptransversales["qualitesProfessionnelles"] + ' <br>Nombre : %{x}', y=[y[:80] + "..." for y in df_comptransversales["qualitesProfessionnelles"]], showlegend=False).add_annotation(x=0, y=1.0, xanchor='left', yanchor='bottom',
942
+ xref='paper', yref='paper', showarrow=False, align='left',
943
+ text='Les principales compétences transversales<br><b>{}</b>'.format(customEmplois),font=dict(size=14))
944
 
945
  ######## Niveaux de qualification ########
946
  df_niveau = df_FT
947
  df_niveau["formations"] = df_niveau["formations"].apply(lambda x:[str(e['niveauLibelle']) for e in x]).apply(lambda x:'; '.join(map(str, x)))
948
  df_niveau = df_niveau.groupby('formations').size().reset_index(name='obs')
949
+ fig_niveau = px.pie(df_niveau, names='formations', height=600, values='obs', color='obs', template=template, labels={'obs':'nombre'}, color_discrete_sequence=px.colors.qualitative.Safe).update_traces(textposition='inside', textinfo='percent+label').update_layout(font=dict(size=10),paper_bgcolor=paper_bgcolor).add_annotation(x=0, y=1.0, xanchor='left', yanchor='bottom',
950
+ xref='paper', yref='paper', showarrow=False, align='left',
951
+ text='Les niveaux de qualification<br><b>{}</b>'.format(customEmplois),font=dict(size=14))
952
 
953
  ######## Secteurs ########
954
  df_secteur = df.groupby('secteurActiviteLibelle').size().reset_index(name='obs')
955
  df_secteur = df_secteur.sort_values(by=['obs'])
956
  df_secteur = df_secteur.iloc[-25:]
957
+ fig_secteur = px.bar(df_secteur, x='obs', y='secteurActiviteLibelle', height=600, orientation='h', color='obs', template=template, labels={'obs':'nombre'}, color_continuous_scale="Teal", text_auto=True).update_layout(font=dict(size=10),paper_bgcolor=paper_bgcolor,plot_bgcolor=plot_bgcolor,autosize=True).update_traces(hovertemplate=df_secteur["secteurActiviteLibelle"] + ' <br>Nombre : %{x}', y=[y[:80] + "..." for y in df_secteur["secteurActiviteLibelle"]], showlegend=False).add_annotation(x=0, y=1.0, xanchor='left', yanchor='bottom',
958
+ xref='paper', yref='paper', showarrow=False, align='left',
959
+ text='Les principaux secteurs d'activités<br><b>{}</b>'.format(customEmplois),font=dict(size=14))
960
 
961
 
962
  return fig_localisation, fig_competences, fig_transversales, fig_niveau, fig_secteur