前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >超简单的和弦图绘制方法分享,推荐收藏~~

超简单的和弦图绘制方法分享,推荐收藏~~

作者头像
DataCharm
发布2022-10-25 10:20:04
2.8K0
发布2022-10-25 10:20:04
举报
文章被收录于专栏:数据 学术 商业 新闻

今天小编继续给大家推荐优秀的Python第三方可视化绘制工具包,这次小编给大家推荐的为Python-mpl-chord-diagram包,顾名思义,此包为基于Matplotlib绘制和弦图(Chord Diagram),下面小编就详细介绍一下和弦图以及使用该包绘制和弦图的步骤,内容包括:

  • 和弦图(Chord Diagram)简介
  • 和弦图(Chord Diagram)mpl-chord-diagram库绘制
  • 其他包和弦图绘制

和弦图(Chord Diagram)简介

和弦图(Chord Diagram) 是一种表示实体之间相互关系的图图表类型,和弦图由节点分段和弧形的边构成,节点围绕着圆周分布,点与点之间以弧线或贝塞尔曲线彼此连接以显示当中关系,然后再给每个连接分配数值(通过每个圆弧的大小比例表示)。此外,也可以用颜色将数据分成不同类别,有助于进行比较和区分。示意图如下:

和弦图示意图(来源于网络)

关于和弦图具体的数值表示可通过如下这幅图得到充分解释:

和弦图数值表示(来源于网络,侵删)

和弦图(Chord Diagram)mpl-chord-diagram库绘制

Python基础绘图库-Matplotlib本身没有提供绘制和弦图绘制函数,mpl-chord-diagram库就可以完美解决这个问题,下面通过几个样例了解一下该库的具体绘制过程,如下:

  • 样例一:
代码语言:javascript
复制
from mpl_chord_diagram import chord_diagram

flux_data = np.array([
    [0, 5, 6, 4, 7, 4],
    [5, 0, 5, 4, 6, 5],
    [6, 5, 0, 4, 5, 5],
    [4, 4, 4, 0, 5, 5],
    [7, 6, 5, 5, 0, 4],
    [4, 5, 5, 5, 4, 0],
])
names = ["A","B","C","D","E","F"]

fig,ax = plt.subplots(figsize=(4,3.5),dpi=100,facecolor="w")
chord_diagram = chord_diagram(mat=flux_data,names=names,alpha=.8,ax=ax)
plt.tight_layout()

Example01 Of mpl_chord_diagram

设置参数chord_diagram函数中use_gradient=True即可绘制渐变色填充和同一和弦图边颜色,结果如下:

Example02 Of mpl_chord_diagram

  • 样例二:这里再举一个多变量的数据集,使用该库进行和弦图绘制:
代码语言:javascript
复制
from mpl_chord_diagram import chord_diagram

flux = chord_df01_matx.values
names = chord_df01_matx.columns.to_list()
colors = color_list[:len(names)]
fig,ax = plt.subplots(figsize=(4,3.5),dpi=100,facecolor="w")
chord_diagram(flux,names,chordwidth=.5,width=.05,fontsize=9,ax=ax)
plt.tight_layout()

Example02 Of mpl_chord_diagram

更多详细案例和绘制参数细节设置,可参考:Python-mpl_chord_diagram库官网[1]

其他包和弦图绘制

对于和弦图来说,交互设计往往是必要的。加入高亮、数据标签等功能,可以让读者更容易进行阅读图表、进行自由探索。Python语言中,可使用Plotly和Bokeh库实现交互式和弦图绘制,下面为两个包绘制示例。

  • 样例一:Plotly 库交互式和弦图绘制

Example of Plotly make

具体交互样式可查看:Plotly 交互式和弦图样例[2]

  • 样例二:Bokeh库交互式和弦图绘制

Example of Plotly make

具体交互样式可查看:Bokeh交互式和弦图样例[3]

总结

今天这边推文小编介绍了绘制静态和弦图的绘图工具-mpl-chord-diagram,基于Matplotlib绘制,更倾向于在学术论文中展示和弦图结果。

参考资料

[1]

Python-mpl_chord_diagram库官网: https://github.com/tfardet/mpl_chord_diagram。

[2]

Plotly 交互式和弦图样例: https://plotly.com/python/v3/filled-chord-diagram/。

[3]

Bokeh交互式和弦图样例: https://holoviews.org/gallery/demos/bokeh/route_chord.html#demos-bokeh-gallery-route-chord。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataCharm 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 和弦图(Chord Diagram)简介
  • 和弦图(Chord Diagram)mpl-chord-diagram库绘制
  • 其他包和弦图绘制
  • 总结
    • 参考资料
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档