文章目录
介绍
plotly是一个易于使用,功能强大的python绘图库,用于构建可交互式的图表(可以自行运行后使用鼠标拖拽图片试试),本系列文章将介绍plotly绘制各种类型图的方法,本文将介绍——桑基图
桑基图
基础桑基图
代码解释
- 首先,导入Plotly库中的graph_objects模块,这个模块包含了创建图表所需的各种图形对象。
- 创建一个Figure对象,并定义了一个Sankey图形对象作为这个Figure的子图。
node属性定义了桑基图中的节点(也称为“框”),其中:
pad设置了节点之间的填充大小。
thickness设置了节点的宽度。
line是一个字典,设置了节点边框的颜色和宽度。
label是一个列表,包含了每个节点的名称。
color设置了所有节点的统一颜色。
link属性定义了桑基图中的链接(也称为“箭头”),其中:
source是一个列表,表示链接的起始节点的索引。
target是一个列表,表示链接的结束节点的索引。
value是一个列表,表示链接的宽度,通常代表流动的量。 - 使用update_layout方法设置图表的布局,title_text设置了图表标题为"Basic Sankey Diagram",font_size设置了字体大小为10。
import plotly.graph_objects as go
fig = go.Figure(data=[go.Sankey(
node = dict(
pad = 15,
thickness = 20,
line = dict(color = "black", width = 0.5),
label = ["A1", "A2", "B1", "B2", "C1", "C2"],
color = "blue"
),
link = dict(
source = [0, 1, 0, 2, 3, 3], # indices correspond to labels, eg A1, A2, A1, B1, ...
target = [2, 3, 3, 4, 4, 5],
value = [8, 4, 2, 8, 4