我正在尝试表示和收集networkx上的数据。
但是我的图表看起来很可怕,例如:
Tableau_des_operations=[[0, 1508, 0, 1124, 7804, 3511, 5001, 175, 950],
[161, 359, 39, 358, 3216, 2029, 318, 101, 60],
[9, 869, 216, 1133, 14183, 4640, 5233, 232, 994],
[9, 674, 197, 834, 13094, 1403, 3596, 70, 683],
[437, 324, 60, 633, 5231, 3029, 1973, 151, 375],
[115, 608, 60, 658, 4105, 1644, 1680, 82, 319],
[112, 113, 451, 944, 19811, 2869, 531, 143, 100]]
t_op=Tableau_des_operations[1]
import networkx as nx
achat_foncier=t_op[0]
cout_equipement=t_op[1]
cout_fonctionnement=t_op[2]
vente_promoteur=t_op[3]
cout_construction= t_op[4]
achat_logement=t_op[5]
achat_bureau=t_op[6]
tva_logement=t_op[7]
tva_bureau=t_op[8]
g=nx.Graph() # création du graphe g
arcs=[("Amenageur","Foncier"), ("Amenageur","Amenageur"), ("Amenageur","Ent_BTP"), ("Foncier","Amenageur"),("Promoteurs","Amenageur"),("Promoteurs","Ent_BTP"), ("Habitants","Promoteurs"),("Activites","Promoteurs")]
g.add_edges_from(arcs)
g["Amenageur"]["Foncier"]['weight']=t_op[0]
g["Amenageur"]["Foncier"]['nature']="achat foncier"
g["Amenageur"]["Foncier"]['vers']="Foncier"
g["Amenageur"]["Foncier"]['label']="Public"
g["Amenageur"]["Ent_BTP"]['weight']=t_op[1]
g["Amenageur"]["Ent_BTP"]['nature']="cout_equipement"
g["Amenageur"]["Ent_BTP"]['vers']="Ent_BTP"
g["Amenageur"]["Ent_BTP"]['label']="Public"
g["Promoteurs"]["Amenageur"]['weight']=t_op[3]
g["Promoteurs"]["Amenageur"]['nature']="vente foncier"
g["Promoteurs"]["Amenageur"]['vers']="Amenageur"
g["Promoteurs"]["Amenageur"]['label']="Public"
g["Amenageur"]["Amenageur"]['weight']=t_op[2]
g["Amenageur"]["Amenageur"]['nature']="cout de fonctionnement"
g["Amenageur"]["Amenageur"]['vers']= "non"
g["Amenageur"]["Amenageur"]['label']="Public"
g["Promoteurs"]["Ent_BTP"]['weight']=t_op[4]
g["Promoteurs"]["Ent_BTP"]['nature']="cout de construction"
g["Promoteurs"]["Ent_BTP"]['vers']="Ent_BTP"
g["Promoteurs"]["Ent_BTP"]['label']="Prive"
g["Habitants"]["Promoteurs"]['weight']=t_op[5]
g["Habitants"]["Promoteurs"]['nature']="achat_logement"
g["Habitants"]["Promoteurs"]['vers']="Promoteurs"
g["Habitants"]["Promoteurs"]['label']="Prive"
g["Activites"]["Promoteurs"]['weight']=t_op[6]
g["Activites"]["Promoteurs"]['nature']="achat_bureaux"
g["Activites"]["Promoteurs"]['vers']="Promoteurs"
g["Activites"]["Promoteurs"]['label']="Public"
import matplotlib.pyplot as plt
pos=nx.spring_layout(g) #choix de l'algorithme
nx.draw(g, pos, with_labels=True)
nx.draw_networkx_edge_labels(g, pos, edge_labels=None, label_pos=0.5, font_size=10, font_color='k', font_family='serif', font_weight='normal', alpha=1.0, width=edgewidth, bbox=None, horizontalalignment='center', rotate=True)
nx.draw_networkx_labels(g,pos,g.edges(),font_size=16)
plt.show()
能否获得:
此外,如果您对代码有任何改进,欢迎您:)
谢谢!
苏菲