アルファ値色ではなく透明度を制御します。
すでにnode_color
パラメータを指定している場合、ノードは着色されます。アルファの代わりにそれらの強度に基づいて青から赤に変えたい場合は、colormap.を使用します。「地震」は赤から青に変わります。
nx.draw_networkx_nodes(g,pos=pos,nodelist=nodelist,node_color=node_color, cmp='seismic')
編集:私はこれに深く掘るしようとしているいくつかの奇妙な行動を偶然見つけ。私はnetworkxのプロットがmatplotlibのscatter
プロットのように振る舞い、rgba色を受け入れて、特定の色と透明度を指定できると思っていたでしょう。 Iは、RGBA色を表すために4組のアレイとdraw_networkx_nodes
を呼び出す場合には、これは、色や透明度を変化させたいくつかの点をプロット1.
rgba_colors = np.zeros((5,4))
rgba_colors[:,0] = np.linspace(1,0,5) #red
rgba_colors[:,2] = np.linspace(0,1,5) #blue
rgba_colors[:,3] = np.linspace(0.1,1,5) #alpha values
plt.scatter([1,2,3,4,5],[1,2,3,4,5], color=rgba_colors)
にすべてのアルファ値を設定します。しかし、networkxでプロットしようとすると、結果のプロットに透明度がないだけでなく、変数rgba_colors
が実際に変更されています。
G = nx.complete_graph(5)
pos = {0: [0,0], 1: [1,1], 2: [2,2], 3: [2,1], 4: [2,3]}
nx.draw_networkx_nodes(G, pos=pos, node_color=rgba_colors)
print(rgba_colors)
なぜこれが起こっているのか分かりません。
アルファコントロール透明度と透明度が色の見え方に影響します:) – Leigh
'rgba_colors'は変更されていますか?それは私のために変わるようには見えません。 – Joel
@Joelはい、変更されています。私は2D numpy配列の代わりにタプルのリストを使うことでこれを防ぐことができますが、結果のグラフは同じです。しかし、私は古いバージョンのnetworkx(1.9.1)とmatplotlib(1.4.2)を使用しています。 –