グラフのノードの色をノード属性の値で、色の属性の値としてグラデーションを適用したいとします。これは、グラフのすべてのノードについて、matplotlib
cmap(たとえばcmap = plt.get_cmap('Greens')
)のノードに色を追加することを目指している、私が見た(多くの!)他の応答とは異なります。 1つのタイプのノードに1つのカラーを適用し、別のタイプのノードにカラーマップを適用したいと思います。特定のノードのネットワークに色を適用する
これまで私がこれまでに試したことは次のとおりです。文字列(たとえば「黄色」)とrgba値(たとえばcmap(dict_1[node])
)をcolor_map
に追加しようとしているため、これは失敗していると思います。のnode_color
パラメータに使用します。
import networkx as nx
import matplotlib.pyplot as plt
color_map = []
cmap = plt.get_cmap('Greens')
for node in g:
if node in list_1:
color_map.append('yellow')
elif node in list_2:
rgba = cmap(dict_1[node])
color_map.append(rgba*-1)
nx.draw(g, node_color = color_map, node_size = 75)
私だけではなく、現在の形で、color_map
に名前によって色を追加するときcolor_map
方法はうまく動作します。