diff --git a/src/assets/style.css b/src/assets/style.css index 24dd152..619b357 100644 --- a/src/assets/style.css +++ b/src/assets/style.css @@ -1,9 +1,3 @@ -/* Titres */ - -h2 { - margin-top: 40px; -} - /* Change la marge bout d'export */ .table-menu { font-size: 16px; @@ -216,7 +210,7 @@ a.nav { } h3 { - margin: 36px 0 24px 0; + margin: 36px 0 20px 0; } summary > h3 { diff --git a/src/figures.py b/src/figures.py index abcd60a..5d6a723 100644 --- a/src/figures.py +++ b/src/figures.py @@ -314,14 +314,13 @@ def get_duplicate_matrix() -> html.Div: ) description = dcc.Markdown(""" - Ce graphique illustre les doublons de marchés publics entre sources. Il s'appuie sur les identifiants `uid` qui sont - pour chaque marché la concaténation du SIRET de l'acheteur et de l'identifiant interne du marché. + Ce graphique illustre les doublons de marchés publics entre sources, c'est-à-dire la proportion de marchés publiés par plus d'une source. Il s'appuie sur les identifiants `uid` qui sont pour chaque marché la concaténation du SIRET de l'acheteur et de l'identifiant interne du marché. **Comment lire ce graphique ?** On part des codes de sources de données en ordonnée. Ces jeux de données sont documentés dans [À propos](/a-propos#sources). - La première colonne "unique" représente le pourcentage de marchés fournis par cette source qui sont uniquement disponibles dans cette source. Plus le bleu est foncé, plus important est le pourcentage. Donc plus le bleu est clair dans la première colonne, plus la source en ordonnée a des marchés en commun avec d'autres sources, et donc plus on trouvera sur la même ligne d'autres cases plus ou moins foncées qui indiqueront avec quelles autres sources elle partage des marchés. + La première colonne (**unique**) représente le pourcentage de marchés fournis par cette source qui sont uniquement disponibles dans cette source. Plus le rouge est foncé, plus important est le pourcentage. Donc, à l'inverse, plus le rouge est clair dans la première colonne, plus la source en ordonnée a des marchés en commun avec d'autres sources, et donc plus on trouvera sur la même ligne d'autres cases plus ou moins foncées qui indiqueront avec quelles autres sources cette source partage des marchés. Passez votre souris sur une case pour avoir les pourcentages exacts. À noter que ces statistiques sont produites avant le dédoublonnement qui a lieu avant la publication en Open Data et sur ce site.""") @@ -343,11 +342,16 @@ def get_duplicate_matrix() -> html.Div: z=z_data, x=x_labels, y=y_labels, + # colorscale=[ + # [0, "white"], # 0% → white + # [0.10, "lightblue"], # 1% → light blue (soft start) + # [0.50, "steelblue"], # 50% → medium blue + # [1, "darkblue"], # 100% → dark blue + # ], colorscale=[ - [0, "white"], # 0% → white - [0.10, "lightblue"], # 1% → light blue (soft start) - [0.50, "steelblue"], # 50% → medium blue - [1, "darkblue"], # 100% → dark blue + [0.0, "white"], # 0% → white + [0.10, "lightsalmon"], # 10% → light warm tone + [1.0, "darkred"], # 100% → deep red ], zmin=0, zmax=1, @@ -377,7 +381,7 @@ def get_duplicate_matrix() -> html.Div: return html.Div( children=[ - html.H2("Doublons de marchés entre les sources"), + html.H3("Doublons de marchés entre les sources"), description, dcc.Graph(figure=fig), ] diff --git a/src/pages/statistiques.py b/src/pages/statistiques.py index fb63f3b..6907fc2 100644 --- a/src/pages/statistiques.py +++ b/src/pages/statistiques.py @@ -37,7 +37,7 @@ layout = [ children=[ html.Div( children=[ - dcc.Markdown(""" + dcc.Markdown(f""" La publication de données essentielles de marchés publics (DECP) est souvent effectuée par les plateformes de marchés publics (profils d'acheteurs). Cependant, certaines plateformes ne publient pas, ou publient d'une manière qui rend la récupération des données compliquée. Les données présentées sur ce site @@ -45,10 +45,12 @@ layout = [ L'ajout de nouvelles plateformes [est en cours](https://github.com/ColinMaudry/decp-processing/issues?q=is%3Aissue%20label%3A%22source%20de%20donn%C3%A9es%22), toutes les [contributions](/a-propos#contribuer) sont les bienvenues pour atteindre l'exhaustivité. + + Les statistiques publiées sur cette page ont été produites automatiquement à partir des données les plus récentes ({today_str}). """), dcc.Graph(figure=get_map_count_marches(df)), - html.H2( - f"Statistiques générales sur les marchés (au {today_str})", + html.H3( + "Statistiques générales sur les marchés", id="marches", ), html.P( @@ -65,6 +67,7 @@ layout = [ html.H4("Statistiques par année"), get_yearly_statistics(statistics, today_str), get_duplicate_matrix(), + html.H3("Nombre de marchés par source dans le temps"), dcc.Graph( figure=get_barchart_sources(df, "dateNotification") ),