Я пытаюсь создать сетевой граф, в котором основным узлом является "HEAT_STRESS", а его ребра, таким образом, ["HEAT_STRESS", "TMAX_AVG"], ["HEAT_STRESS", "TMAX_STD"] и т. Д. С весами в качестве значений вh_dict.Я также хотел бы, чтобы значения были отражены в размере ребра, связывающего узлы.
Я застреваю, пытаясь что-то сделать, и мне нужна некоторая помощь с этим!
> h_dict = {'HEAT_STRESS':0, 'TMAX_AVG': 0.135108033739339, 'TMAX_STD': 0.11849448684587181, 'TMIN_AVG': 0.08068632157781724,
> 'TMIN_STD': 0.14903446975759527, 'DAYL_AVG': 0.07909939892052363,
> 'DAYL_STD': 0.1401867177791966, 'SRAD_AVG': 0.21578261483251507,
> 'SRAD_STD': 0.08160795654714141}
>
> G = nx.DiGraph() for key in h_dict:
> G.add_nodes_from(key) G
drought_variable_list = [
> ('HEAT_STRESS'),
> ('TMAX_AVG'),
> ('TMAX_STD'),
> ('TMIN_AVG'),
> ('TMIN_STD'),
> ('DAYL_AVG'),
> ('DAYL_STD'),
> ('SRAD_AVG'),
> ('SRAD_STD') ]
>
> distances = [
> ['HEAT_STRESS', 'TMAX_AVG', 0.135108033739339],
> ['HEAT_STRESS','TMAX_STD', 0.11849448684587181],
> ['HEAT_STRESS','TMIN_AVG', 0.08068632157781724],
> ['HEAT_STRESS','TMIN_STD', 0.14903446975759527],
> ['HEAT_STRESS','DAYL_AVG', 0.07909939892052363],
> ['HEAT_STRESS','DAYL_STD', 0.1401867177791966],
> ['HEAT STRESS','SRAD_AVG', 0.21578261483251507],
> ['HEAT_STRESS','SRAD_STD', 0.08160795654714141] ]
>
import networkx as nxt
%matplotlib inline
G_C=nx.Graph()
node_labels=dict()
nodes = list()
for n in drought_variable_list:
nodes.append(n[0])
node_labels[n[0]] = n[1]
for e in distances:
G_C.add_edge(e[0],e[1],distance=e[2])
nx.draw(G_C)
nx.draw_networkx_labels(G_C, pos=h_dict) #labels=h_dict,font_size=16)