python绘制人际关系图,利用Python-iGraph如何绘制贴吧/微博的好友关系图详解

前言

最近工作中遇到了一些需求,想通过图形化的方式显示社交网络特定用户的好友关系,上网找了一下这方面的图形库有networkx、graphviz等,找了好久我选择了iGraph这个图形库。下面话不多说了,来一起看看详细的介绍吧。

安装igraph

igraph在Windows下的安装稍微有点麻烦,之前尝试在windows用pip和conda直接装igraph都装不上,后来发现了lfd的网站 Unofficial Windows Binaries for Python Extension Packages, 里面有很多python的资源和库与工具。

在上面的网址中找到python_igraph去下载具体的python对应版本和是32位还是64位的,比如我下载了 python_igraph‑0.7.1.post6‑cp35‑none‑win_amd64.whl

利用pip 安装whl文件:pip install 文件名.whl

为了避免出错,打开cmd以后,要cd进入你存放的该whl文件的解压后的目录下在用pip进行安装。

绘制好友关系图

fans.txt 和 follow.txt分别保存了爬取下来的粉丝昵称以及关注人昵称。

最终结果如图:

1-201215003R9357.png

以上只演示了一个用户的社交关系图,有精力的话可以尝试递归地一层一层爬下去,想象一下最终绘出来的图也是挺炫酷的。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:http://www.cnblogs.com/lovealways/p/6653006.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Python和igraph库绘制吧或微博好友关系,可以按照以下步骤进行: 1. 安装igraph库:在Python环境下使用命令`pip install python-igraph`来安装igraph库。 2. 准备数据:首先需要获取好友关系的数据。可以通过吧或微博提供的API接口获取好友列表或关注列表,并将这些数据保存为适当的格式,如CSV或JSON。数据应包括每个用户的唯一标识符和其关联的好友的唯一标识符。 3. 加载数据:使用igraph库的方法来加载数据。可以使用`Graph.TupleList`方法将关系列表转换为对象。可以使用类似以下代码的方式加载数据: ```python from igraph import Graph edges = [(1, 2), (1, 3), (2, 3)] # 示例关系列表 g = Graph.TupleList(edges, directed=False) ``` 这将创建一个无向对象g,其中包含了关系列表中的节点和边。 4. 设置的布局:使用igraph库提供的布局算法来确定节点在中的位置。可以选择使用`layout_fruchterman_reingold`或`layout_kamada_kawai`等布局算法。例如,可以使用以下代码设置的布局: ```python layout = g.layout_fruchterman_reingold() ``` 5. 绘制:使用igraph库的绘函数将绘制出来。例如,可以使用以下代码将绘制为PNG像: ```python from igraph import plot plot(g, layout=layout, bbox=(800, 800), vertex_size=20, vertex_color='red', edge_width=1, edge_color='gray', margin=50).save('friend_graph.png') ``` 这将创建一个名为`friend_graph.png`的PNG像文件,其中包含了好友关系。 可以根据需求自定义的外观和样式,设置节点和边的颜色、大小、边缘、标签等。 总之,使用Python和igraph库,可以很方便地绘制吧或微博好友关系。关键步骤包括准备数据、加载数据、设置的布局和样式、绘制像。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值