2022年 11月 3日

python有向图,无向图绘制

https://www.jianshu.com/p/52bb142314ebR语言画网络图

https://blog.csdn.net/fly_hawk/article/details/78513257

python绘制无向图,输入数据

  1. import pandas as pd
  2. import networkx as nx
  3. import matplotlib.pyplot as plt
  4. edges = pd.DataFrame()
  5. edges['sources'] = [0,1,2,3,4,4,6,7,7,9,1,4,4,4,6,7,5,8,9,8]
  6. edges['targets'] = [1,4,4,4,6,7,5,8,9,8,0,1,2,3,4,4,6,7,7,9]
  7. #edges['weights'] = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
  8. G = nx.from_pandas_edgelist(edges, source='sources',target='targets')
  9. nx.draw(G, with_labels=True,pos=None, arrows=True)
  10. #plt.savefig("undirected_graph.png")
  11. plt.show()

 

python绘制无向图,读取数据

  1. import networkx as nx
  2. import matplotlib.pyplot as plt
  3. import pandas as pd
  4. # 读取文件,获取节点和边
  5. f = open("clustered_skill_name.txt", "r")
  6. sources= []
  7. targets = []
  8. while True:
  9. line = f.readline()
  10. if line:
  11. source=line.split('\t')[0]
  12. target=line.split('\t')[1]
  13. sources.append(source)
  14. targets.append(target)
  15. else:
  16. break
  17. f.close()
  18. print (len(sources)) #图节点
  19. print(sources)
  20. print(targets)
  21. # 有向图绘制
  22. edges = pd.DataFrame()
  23. edges['sources']=sources
  24. edges['targets'] =targets
  25. G = nx.from_pandas_edgelist(edges, source='sources',target='targets')
  26. nx.draw_networkx(G, pos=None, arrows=True, with_labels=True)
  27. plt.savefig('assitment2009.png')
  28. plt.show()

 

部分txt 文件数据

w