最近看到一张图,感觉很酷炫,搜索得知是叫做弦图。看到很多用R语言绘制的案例,以及有Excel大佬用VBA也绘制了一个,简直不要太强。
那么,Python可以绘制吗?找了一圈发现有一个付费的第三方包可以实现,因为需要付费,这里就不介绍了。最终,可算让我找到了Python绘制的免费方案,今天我们就一起来看看吧!
1.什么是弦图
下面这张图就是弦图,主要用于展示多个对象之间的关系,连接在圆上任意两点之间的线段叫做弦。
对于弦图,有以下特点:
用不同颜色区分不同的对象(点)圆上的两点之间的弦表示之间存在关系弦的宽度表示关系程度,关系越明显则弦宽越宽因为不同对象颜色不同,可以通过两点之间弦的颜色区分是对象-对象的方向
一般来说,弦图可以用于以下几种场景:
人口迁徙(不同城市之间迁入迁出)电竞战队或球队之间选手交易具有重叠成分的不同成品与各成分关系类似以上几类场景的情况等等
今天,我们绘制弦图要用到的可视化库是holoviews
2.弦图绘制
HoloViews是一个开源的Python库,可以用非常少的代码行中完成数据分析和可视化,除了默认的matplotlib后端外,还添加了一个Bokeh后端。Bokeh提供了一个强大的平台,通过结合Bokeh提供的交互式小部件,可以使用HTML5canvas和WebGL快速生成交互性和高维可视化,非常适合于数据的交互式探索。