使用Python绘制和弦图
- 和弦图
- 效果
- 代码
和弦图
和弦图用于展示数据的多对多关系,适合用于社交网络、交通流量等领域的分析。
效果
代码
import pandas as pd
import holoviews as hv
from holoviews import opts
hv.extension('bokeh')# 示例数据
data = [('A', 'B', 2),('A', 'C', 4),('A', 'D', 6),('B', 'A', 2),('B', 'C', 3),('B', 'D', 8),('C', 'A', 4),('C', 'B', 3),('C', 'D', 5),('D', 'A', 6),('D', 'B', 8),('D', 'C', 5)
]# 转换为DataFrame
df = pd.DataFrame(data, columns=['source', 'target', 'value'])# 创建和弦图
chord = hv.Chord(df)# 设置图表选项
chord.opts(opts.Chord(cmap='Category20',edge_cmap='Category20',edge_color=hv.dim('source').str(),labels='source',node_color=hv.dim('index').str(),edge_line_width=hv.dim('value')*0.1)
)# 将图表保存为HTML文件
hv.save(chord, 'chord.html', fmt='html')# 打印提示信息
print("和弦图已保存为 chord.html")