{"id":174,"date":"2024-08-07T13:48:27","date_gmt":"2024-08-07T11:48:27","guid":{"rendered":"https:\/\/huguesg.fr\/site\/?page_id=174"},"modified":"2025-08-05T19:17:35","modified_gmt":"2025-08-05T17:17:35","slug":"diagramme-de-flux-sankey","status":"publish","type":"page","link":"https:\/\/huguesg.fr\/site\/index.php\/diagramme-de-flux-sankey\/","title":{"rendered":"Les flux \u00e9conomiques du syst\u00e8me de transport en France"},"content":{"rendered":"\n<p>Dans cet article, nous nous penchons sur deux diagrammes de Sankey qui illustrent les flux \u00e9conomiques au sein du syst\u00e8me de transport fran\u00e7ais. Le premier diagramme concerne les flux nationaux, tandis que le second se concentre sur les flux des collectivit\u00e9s locales. Ces graphiques interactifs permettent de visualiser facilement les mouvements de financement et d&#8217;allocation des ressources, en suivant les diff\u00e9rentes sources de financement jusqu&#8217;\u00e0 leurs destinataires finaux.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comment lire et manipuler un diagramme de Sankey<\/h2>\n\n\n\n<p>Les diagrammes de Sankey sont des outils visuels puissants pour comprendre les flux de ressources entre diff\u00e9rents acteurs. Ils sont particuli\u00e8rement utiles lorsque les flux sont complexes et qu&#8217;il est difficile de suivre la circulation de l&#8217;argent.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Les bandes color\u00e9es<\/strong> repr\u00e9sentent les flux d&#8217;argent entre les diff\u00e9rentes entit\u00e9s. La largeur de chaque bande est proportionnelle \u00e0 la quantit\u00e9 d&#8217;argent qui circule.<\/li>\n\n\n\n<li><strong>Les blocs<\/strong>, appel\u00e9s &#8220;n\u0153uds&#8221;, repr\u00e9sentent les acteurs du syst\u00e8me. Par exemple, ici, on y trouve l&#8217;Etat et ses diff\u00e9rents programmes budg\u00e9taires, l&#8217;AFITF, ou encore Voies Navigables de France (VNF).<\/li>\n\n\n\n<li><strong>Les interactions avec le graphique<\/strong> : En passant votre souris sur une bande ou un bloc, des informations suppl\u00e9mentaires apparaissent, telles que la source du flux, sa destination, et la quantit\u00e9 d&#8217;argent en jeu. Cela permet de suivre facilement les fonds depuis leur origine jusqu&#8217;\u00e0 leur utilisation finale.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Diagramme 1 : Les flux \u00e9conomiques nationaux<\/h2>\n\n\n\n<p>Le premier diagramme de Sankey que nous pr\u00e9sentons ici illustre les flux \u00e9conomiques au niveau national. Vous pouvez y voir les diff\u00e9rentes sources de financement, telles que les taxes affect\u00e9es ou les subventions de l&#8217;\u00c9tat, et comment ces fonds sont redistribu\u00e9s vers les diff\u00e9rents acteurs du secteur des transports.<\/p>\n\n\n\n<div id=\"chart1\" style=\"width:100%; height: 900px;\"><\/div>\n<script type=\"text\/javascript\" src=\"https:\/\/www.gstatic.com\/charts\/loader.js\"><\/script>\n<script type=\"text\/javascript\">\n    google.charts.load(\"current\", { packages: [\"sankey\", \"corechart\"] });\n    google.charts.setOnLoadCallback(drawChart);\n\n    function createCustomHTMLContent(from, to, value, title) {\n        return '<div style=\"padding:5px 5px 5px 5px;\">' +\n            from + ' -> ' + to + '<br \/>' + Math.round(value).toLocaleString() + 'M\u20ac<br \/>' + title + '<\/div>';\n    }\n\n    function drawChart() {\n        fetch('https:\/\/huguesg.fr\/docs\/sankey.json')\n            .then(response => response.json())\n            .then(jsonData => {\n                var data = new google.visualization.DataTable();\n                data.addColumn('string', 'From');\n                data.addColumn('string', 'To');\n                data.addColumn('number', 'Weight');\n                data.addColumn({ type: 'string', role: 'tooltip', 'p': { 'html': true } });\n\n                jsonData.forEach(row => {\n                    data.addRow([row[0], row[1], row[2], createCustomHTMLContent(row[0], row[1], row[2], row[3])]);\n                });\n\n                var options = {\n                    height: 800,\n                    focusTarget: 'category',\n                    tooltip: { isHtml: true },\n                    sankey: {\n                        iterations: 0,\n                        node: {\n                            nodePadding: 10,\n                            label: {\n                                fontSize: 14,\n                                bold: true\n                            }\n                        },\n                        link: {\n                            colorMode: 'gradient'\n                        }\n                    }\n                };\n\n                var chart = new google.visualization.Sankey(document.getElementById('chart1'));\n                chart.draw(data, options);\n            })\n            .catch(error => console.error('Error loading the JSON data:', error));\n    }\n<\/script>\n\n\n\n<p><a href=\"https:\/\/huguesg.fr\/site\/index.php\/budget-national-transports\/\" data-type=\"page\" data-id=\"176\">En savoir plus sur le budget national pour les transports<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Diagramme 2 : Les flux \u00e9conomiques des collectivit\u00e9s locales<\/h2>\n\n\n\n<p>Le deuxi\u00e8me diagramme met en \u00e9vidence les flux \u00e9conomiques \u00e0 l&#8217;\u00e9chelle locale, avec une attention particuli\u00e8re port\u00e9e aux collectivit\u00e9s territoriales telles que les communes, les d\u00e9partements, et les r\u00e9gions. Les chiffres sont ceux de l&#8217;ann\u00e9e 2023.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Les r\u00e9gions et les d\u00e9partements<\/strong> : Ces acteurs jouent un r\u00f4le crucial dans le financement des transports publics et scolaires, ainsi que dans l&#8217;entretien des routes et des infrastructures locales.<\/li>\n\n\n\n<li><strong>Transports scolaires et publics<\/strong> : Vous pourrez observer la r\u00e9partition des fonds entre les diff\u00e9rents types de transport, notamment les transports scolaires, les services communs de transport, et les investissements dans les infrastructures, notamment routi\u00e8res et ferroviaires.<\/li>\n<\/ul>\n\n\n\n<div id=\"chart2\" style=\"width:100%; height: 900px;\"><\/div>\n<script type=\"text\/javascript\" src=\"https:\/\/www.gstatic.com\/charts\/loader.js\"><\/script>\n<script type=\"text\/javascript\">\n    google.charts.load(\"current\", { packages: [\"sankey\", \"corechart\"] });\n    google.charts.setOnLoadCallback(drawChart);\n\n    function createCustomHTMLContent(from, to, value, title) {\n        return '<div style=\"padding:5px 5px 5px 5px;\">' +\n            from + ' -> ' + to + '<br \/>' + Math.round(value).toLocaleString() + 'M\u20ac<br \/>' + title + '<\/div>';\n    }\n\n    function drawChart() {\n        fetch('https:\/\/huguesg.fr\/docs\/sankey-collectivites.json')\n            .then(response => response.json())\n            .then(jsonData => {\n                var data = new google.visualization.DataTable();\n                data.addColumn('string', 'From');\n                data.addColumn('string', 'To');\n                data.addColumn('number', 'Weight');\n                data.addColumn({ type: 'string', role: 'tooltip', 'p': { 'html': true } });\n\n                jsonData.forEach(row => {\n                    data.addRow([row[0], row[1], row[2], createCustomHTMLContent(row[0], row[1], row[2], row[3])]);\n                });\n\n                var options = {\n                    height: 800,\n                    focusTarget: 'category',\n                    tooltip: { isHtml: true },\n                    sankey: {\n                        iterations: 0,\n                        node: {\n                            nodePadding: 10,\n                            label: {\n                                fontSize: 14,\n                                bold: true\n                            }\n                        },\n                        link: {\n                            colorMode: 'gradient'\n                        }\n                    }\n                };\n\n                var chart = new google.visualization.Sankey(document.getElementById('chart2'));\n                chart.draw(data, options);\n            })\n            .catch(error => console.error('Error loading the JSON data:', error));\n    }\n<\/script>\n\n\n\n<p><a href=\"https:\/\/huguesg.fr\/site\/index.php\/budget-des-regions\/\" data-type=\"page\" data-id=\"210\">En savoir plus sur le budget des r\u00e9gions pour les transports<\/a><\/p>\n\n\n\n<p>Ces deux diagrammes offrent une vue d&#8217;ensemble claire des flux financiers dans le syst\u00e8me de transport en France, \u00e0 la fois au niveau national et au niveau local. Ils permettent de mieux comprendre la complexit\u00e9 des financements publics et la mani\u00e8re dont l&#8217;argent est redistribu\u00e9 pour soutenir les transports dans tout le pays.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><a href=\"https:\/\/huguesg.fr\/site\/index.php\/budget-transports\/\" data-type=\"page\" data-id=\"176\">Retour au sommaire de la s\u00e9rie Budget Transport<\/a><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans cet article, nous nous penchons sur deux diagrammes de Sankey qui illustrent les flux \u00e9conomiques au sein du syst\u00e8me de transport fran\u00e7ais. Le premier diagramme concerne les flux nationaux, tandis que le second se concentre sur les flux des collectivit\u00e9s locales. Ces graphiques interactifs permettent de visualiser facilement les mouvements de financement et d&#8217;allocation [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","footnotes":""},"class_list":["post-174","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/huguesg.fr\/site\/index.php\/wp-json\/wp\/v2\/pages\/174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/huguesg.fr\/site\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/huguesg.fr\/site\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/huguesg.fr\/site\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/huguesg.fr\/site\/index.php\/wp-json\/wp\/v2\/comments?post=174"}],"version-history":[{"count":17,"href":"https:\/\/huguesg.fr\/site\/index.php\/wp-json\/wp\/v2\/pages\/174\/revisions"}],"predecessor-version":[{"id":389,"href":"https:\/\/huguesg.fr\/site\/index.php\/wp-json\/wp\/v2\/pages\/174\/revisions\/389"}],"wp:attachment":[{"href":"https:\/\/huguesg.fr\/site\/index.php\/wp-json\/wp\/v2\/media?parent=174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}