当前位置: 首页 > 知识库问答 >
问题:

从2列csv到2色NetworkX图

费明诚
2023-03-14

我想创建一个大型networkx图,将用户连接到他们观看的视频,就像用户-

CSV文件示例

用户,视频

1, 11

2, 11

3、11

4、12

5, 12

5、13

我在尝试什么?

G=nx.read_edgelist("test.csv", delimiter = ',', data=['user','highlight'], create_using=nx.Graph())

nx.draw(G)

我得到的是:一个所有红色节点的图表。

我要的:我要用户节点是红色的,视频节点是蓝色的,提前谢谢你的帮助。

共有1个答案

葛昱
2023-03-14
import networkx as nx
import csv
import matplotlib.pyplot as plt;

file_edges=csv.reader(open('test.csv','rb'));

G=nx.Graph();
users=[];
video=[];
for row in file_edges:
    G.add_node(row[0],type='user');
    users.append(row[0]);
    G.add_node(row[1],type='video');
    video.append(row[1]);
    G.add_edge(row[0],row[1]);

pos=nx.spring_layout(G) # positions for all nodes
fig=plt.figure(1)
ax=fig.add_subplot(111);
nx.draw_networkx_nodes(G,pos=pos,nodelist=users,with_labels=True,node_size=150,node_color='red',node_shape='s', width=1.75,linewidths=0.2,font_size=5,font_family='serif')
nx.draw_networkx_nodes(G,pos=pos,nodelist=video,with_labels=True,node_size=150,node_color='blue',node_shape='s', width=1.75,linewidths=0.2,font_size=5,font_family='serif')
nx.draw_networkx_edges(G, pos=pos, edgelist=G.edges(), width=3, edge_color='black');
nx.draw_networkx_labels(G,pos,nodelabels=G.nodes(),font_size=8,font_family='serif',font_color='white',font_weight='bold')
ax.legend(['users','video'],loc=2,numpoints=1,scatterpoints=1,prop={'size':10}) # Scatterpoints will show the node marker (say square) only once
plt.gcf()
plt.axis('off')
plt.show()
 类似资料:
  • 2. 角色 2.1 如何创建角色? 进入“角色”管理页面之后,选择“创建新角色”,即可创建新的角色。 2.2 如何给角色添加权限? 选择创建好的角色,给角色添加权限。

  • 我想读一个csv文件在2列,当我将打开我的excel,它将显示我的csv文件的信息显示在2列。 实际上,我只在一列中显示以下代码: 所以现在我想做这件事,但在两个专栏中,我是PowerShell的初学者,所以我想感谢一些帮助:)谢谢 这是我的CSV文件: 我只想在excel的两列上同时显示这些信息(资产编号和序列号),不用担心这些信息一点都不敏感,所以可以:)

  • 你们祈求,就给你们;寻找,就寻见;叩门,就给你们开门。因为凡祈求的,就得着;寻找的,就寻见;叩门的,就给他们开门。 所以无论何事,你们愿意人怎样待你们,你们也要怎样待人,因为这就是律法和先知的道理。(MATTHEW 7:7-8,12) 列表(2) “列表是Python的苦力”,那么它或者对它能做什么呢? 在交互模式下这么操作,就看到有关它的函数或方法了。 >>> dir(list)['__add_

  • 本文向大家介绍系列1 ^ 2 + 3 ^ 2 + 5 ^ 2 +的总和。。。+(2 * n-1)^ 2在C ++中,包括了系列1 ^ 2 + 3 ^ 2 + 5 ^ 2 +的总和。。。+(2 * n-1)^ 2在C ++中的使用技巧和注意事项,需要的朋友参考一下 在这个问题上,我们得到级数n。我们的任务是找到给定n值的序列1 ^ 2 + 3 ^ 2 + 5 ^ 2 + ... +(2 * n-1)

  • 本书可以叫做 Ionic 2 从入门到精通,除了介绍 Ionic 2,TypeScript 基本知识之外,手把手的教会大家制作了 5 个应用,以及打包应用,发布应用,更新应用。

  • 助贷风控(平台方) 贷前阶段 API API名称 API代码 备注 借款预申请创建 loan_app:cs_pre_app:create 只支持个人贷款 融资申请创建 loan_app:app:create 同时支持企业、个人贷款 授信状态变更通知回调 无 同时支持企业、个人贷款 申请状态查询 loan_app:app:sts 同时支持企业、个人贷款 可上传申请材料 loan_app:doc:ca