import urllib.request import json import networkx as nx import matplotlib.pyplot as plt
下载JSON数据
url = ‘http://i9000.net:8888/sgn/LMS/Visual/8/weibo-2.json’ filename = ‘weibo-2.json’ urllib.request.urlretrieve(url, filename)
读取JSON数据并解析
with open(filename, ‘r’, encoding=‘utf-8’) as f:
data = json.load(f)
创建有向图对象
G = nx.DiGraph()
添加节点和边
for item in data:
source_uid = item[0] # 使用索引来获取source_uid属性
retweet_uid = item[1] # 使用索引来获取retweet_uid属性
if source_uid and retweet_uid:
G.add_edge(source_uid, retweet_uid) # 添加边
绘制图形
plt.figure(figsize=(12, 8))
pos = nx.spring_layout(G)
nx.draw_networkx(G, pos=pos, node_size=10)
plt.title(‘Weibo Retweet Network’)
plt.axis(‘off’)
plt.show()
内容由零声教学AI助手提供,问题来源于学员提问