如何解决如何从显示 python 中的相关/交互数据的表中绘制交互图,如模式球?
我有一个包含数据的表格,我想从中以信息丰富的方式显示交互。 我统计了不同人之间的交互,并将其输入到表格中,如下所示:
理想情况下,我想以有趣的方式可视化这些数据(如果您知道更多,请告诉我!)。我找到了这些东西,我想根据这些数据自己创建一个。
我在网上找到了一些教程,但是,我似乎无法让它工作,因为我无法在 NX 图中以正确的方式输入我的数据:当遍历表时,我最终将错误的一端附加到彼此或跳过数据。
数据:
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
A | x | 2 | 1 | 3 | 0 | 0 |
B | 2 | x | 0 | 4 | 5 | 1 |
C | 1 | 0 | x | 3 | 0 | 2 |
D | 3 | 4 | 3 | x | 1 | 1 |
E | 0 | 5 | 0 | 1 | x | 1 |
F | 0 | 1 | 2 | 1 | 1 | x |
尽力而为代码:
import matplotlib.pyplot as plt
import networkx as nx
import matplotlib
namelist = []
for i in range(0,len(systeem)):
namelist.append(systeem.iloc[i,0])
G=nx.Graph()
G.add_nodes_from(namelist)
weightlist=[]
for i in range(0,len(namelist)):
for j in range(1,len(namelist)):
if int(systeem.iloc[i,j]) > 0:
W=int(systeem.iloc[i,j])
weightlist.append(W)
G.add_edge(namelist[i-1],namelist[j],weight= W)
else:
continue
plt.figure(figsize=(40,40))
pos = nx.circular_layout(G)
cmap = matplotlib.cm.get_cmap('plasma_r')
nx.draw_networkx(G,pos,width=1,node_color="blue",edge_cmap=cmap,with_labels=False)
labels_pos = {name:[pos_list[0],pos_list[1]-0.04] for name,pos_list in pos.items()}
nx.draw_networkx_labels(G,labels_pos,font_size=40,font_family="sans-serif",font_color="#000000",font_weight="bold")
ax = plt.gca()
ax.margins(0.25)
plt.axis("equal")
plt.tight_layout()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。