使用Python Chord包画出好看的弦图

在可视化中,有时候会使用到弦图(Chord Diagram)来表示事物之间关系。

首先来介绍一下什么是弦图?

弦图主要用于展示多个对象之间的关系,连接圆上任意两点的线段叫做,弦(两点之间的连线)就代表着两者之间的关联关系

弦图虽然看起来有点眼花缭乱,但是它却非常适合用户分析复杂数据的关联关系

Python中能够绘制弦图的包有一些,本篇主要介绍如何使用chord库来制作酷炫的弦图。可以查看官方文档

 

在使用前需要用pip安装:

pip install chord

在官方文档中很清晰地罗列了API的使用说明,API分为free和pro两个版本,其中pro版本在free的基础上增加了不少新的参数可以使用,但是pro需要用户支付一定的费用,大概是10英镑。

Free API:

Chord(self,
        matrix,
        names,
        colors="d3.schemeSet1",
        opacity=0.8,
        padding=0.01,
        width=700,
        label_color="#454545",
        wrap_labels=False,
        margin=0,
        credit=False,
        font_size="16px",
        font_size_large="20px"      
    )

Pro API:

Chord(self,
        matrix,
        names,
        colors="d3.schemeSet1",
        opacity=0.8,
        padding=0.01,
        width=700,
        label_color="#454545",
        wrap_labels=False,
        margin=0,
        credit=False,
        font_size="16px",
        font_size_large="20px",
        details=[],
        details_thumbs=[],
        thumbs_width=85,
        thumbs_margin=5,
        thumbs_font_size=14,
        popup_width=350,
        noun="instances",
        details_separator=", ",
        divide=False,
        divide_idx=0,
        divide_size=0.5,
        instances=0,
        verb="occur together in",
        symmetric=True,
        title="",
        arc_numbers=False,
        divide_left_label="",
        divide_right_label="",
        inner_radius_scale=0.39,
        outer_radius_scale=1.1,
        allow_download=False,        
    )

 

chord支持输出html文件或者在Jupyter Lab中展示:

Chord(matrix, names).to_html()

 Chord(matrix, names).show()

 

最后展示下使用chord画图的小例子,chord还支持交互操作,非常酷炫好看

 

 

 

参考资料:

1. https://pypi.org/project/chord/

2. https://zhuanlan.zhihu.com/p/127134896

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值