Drkcore

12 01 2010 Python Tweet

networkxとpython-twitterでネットワーク描く

twitterのネットワークをグラフにして書き出してみる。python-twitterとnetworkxを使用。日本語のフォントの指定の仕方(pylabのほうだと思う)がわからなかったので日本語は表示されていない。

from pylab import *
from networkx import *
import twitter

myname= USERNAME
mypassword = PASSWORD

api = twitter.Api(username=myname,password=mypassword)
friends = api.GetFriends()
G = XGraph()

for friend in friends:
    G.add_edge(myname,friend.name)

for friend in friends[-3:]:
    for user in api.GetFriends(friend.id):
            G.add_edge(friend.name,user.name)

#pos=spring_layout(G)
pos=random_layout(G)
#pos = shell_layout(G)

draw_networkx_nodes(G,pos,node_size=100,node_color='b')
draw_networkx_edges(G,pos,width=1)
draw_networkx_labels(G,pos,font_size=8,font_family='sans-serif',font_color='r')

xticks([])
yticks([])
savefig("twitter.png") 
show()

spring

springにするとやたらとCPUを食うのでちょっと大きくなると厳しい。というわけで、自分のフォロワーのフォロワーは3つだけにした。他のレイアウトも試してみたが、スプリングのほうがよさげ。

spring

ランダムだと何みてるか分からんし。

spring

シェルはちょっと視覚的に面白みがない。

コンファレンスのアカウントから幾つかつないで、ネットワークを描くのが楽しそう。あとは、エッジの数が少ないのは枝刈りしないと、僕のR4だと結構厳しいし、視覚的にも見辛くなるかな。

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021