Попытка создать сетевой график, где переменные - это узлы, связанные с главным узлом «HEAT STRESS», с весами ребер в качестве значений в h_dict - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь создать сетевой граф, в котором основным узлом является "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)
...