桑基图制作

桑基图

桑基图(Sankey diagram)是一种特定类型的流程图,用于显示流的分配和方向。它通常用来表示能量、物质或数据等在不同阶段之间的流动情况。桑基图的特点是通过宽度不同的箭头或流线来表示流量的大小:箭头越宽,代表的流量越大。这种图表非常适合用来展示从一个环节到另一个环节的能量损耗、成本分布或者信息传递等情况。

桑基图的关键组成部分包括:

节点(Nodes):表示系统的各个部分或状态。

链接(Links):表示从一个节点流向另一个节点的流。

流量(Flows):每个链接上都标有具体的流量值,反映流的数量。

桑基图广泛应用于多个领域,如能源管理、经济学、环境科学以及网站分析等。它们能够清晰地展示出系统中资源是如何被利用和转化的过程,对于理解复杂的系统运作机制非常有帮助。

案例:

Li等人(2024)利用桑基图展示了塔里木河流域2000-2020年间土地利用类型的变化

塔里木河流域2000-2020年间土地利用类型的变化(Li et al.,2024)

Google Charts制作桑基图

Google Charts 是一个由 Google 提供的免费在线工具,它允许用户在网页上创建各种类型的图表和图形。这些图表基于 HTML5 和 SVG 技术,可以在多种浏览器和设备上运行,无需额外安装插件。Google Charts 提供了广泛的图表类型,包括但不限于柱状图、饼图、线图、散点图以及更复杂的图表如桑基图等。

示例代码展示:

```html

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js">

<div id="sankey_multiple" style="width:900px;height:300px;">

<script type="text/javascript">

    google.charts.load("current", {packages: ["sankey"]});

google.charts.setOnLoadCallback(drawChart);

function drawChart() {

let data =new google.visualization.DataTable();

data.addColumn('string','From');

data.addColumn('string','To');

data.addColumn('number','Weight');

data.addRows([

['Brazil','Portugal',5],

['Brazil','France',1],

['Brazil','Spain',1],

['Brazil','England',1],

['Canada','Portugal',1],

['Canada','France',5],

['Canada','England',1],

['Mexico','Portugal',1],

['Mexico','France',1],

['Mexico','Spain',5],

['Mexico','England',1],

['USA','Portugal',1],

['USA','France',1],

['USA','Spain',1],

['USA','England',5],

['Portugal','Angola',2],

['Portugal','Senegal',1],

['Portugal','Morocco',1],

['Portugal','South Africa',3],

['France','Angola',1],

['France','Senegal',3],

['France','Mali',3],

['France','Morocco',3],

['France','South Africa',1],

['Spain','Senegal',1],

['Spain','Morocco',3],

['Spain','South Africa',1],

['England','Angola',1],

['England','Senegal',1],

['England','Morocco',2],

['England','South Africa',7],

['South Africa','China',5],

['South Africa','India',1],

['South Africa','Japan',3],

['Angola','China',5],

['Angola','India',1],

['Angola','Japan',3],

['Senegal','China',5],

['Senegal','India',1],

['Senegal','Japan',3],

['Mali','China',5],

['Mali','India',1],

['Mali','Japan',3],

['Morocco','China',5],

['Morocco','India',1],

['Morocco','Japan',3]

]);

let colors = ['#a6cee3','#b2df8a','#fb9a99','#fdbf6f',

'#cab2d6','#ffff99','#1f78b4','#33a02c'];

let options = {

height:400,

sankey: {

node: {

colors:colors

                },

link: {

colorMode:'gradient',

colors:colors

                }

}

};

// Instantiate and draw our chart, passing in some options.

        let chart =new google.visualization.Sankey(document.getElementById('sankey_multiple'));

chart.draw(data,options);

}

</html>

```

运行代码就会在浏览器中显示如下结果:


桑基图

参考文献

Li, D., Zhu, Z., Xu, E. & Zhang, H. Desertification sensitivity and its impacts on land use change in the Tarim Basin, Northwest China.The Science of The Total Environment957, 177601–177601 (2024).

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容