0
私のnetworkx
プロットのcolorbar
を変更しようとしています。私がcolorbar
をそこに(右)追加すると、バーが余分に広がって、私の元のnetworkx
プロット(左)をsmooshes。`colorbar`が` networkx`プロットを再形成するのを止めるには? (Python 3)
colorbar
をシンナーにして、元のnetworkx
グラフを変更しないにはどうすればよいですか?
私のコードはcolorbar
で、https://stackoverflow.com/users/5285918/laneryですが、大きなネットワークで使用しました。
# Set up Graph
DF_adj = pd.DataFrame(np.array(
[[1, 0, 1, 1],
[0, 1, 1, 0],
[1, 1, 1, 1],
[1, 0, 1, 1] ]), columns=['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'], index=['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'])
G = nx.Graph(DF_adj.as_matrix())
G = nx.relabel_nodes(G, dict(zip(range(4), ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'])))
# Color mapping
color_palette = sns.cubehelix_palette(3)
cmap = {k:color_palette[v-1] for k,v in zip(['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'],[2, 1, 3, 2])}
# Draw
fig, ax = plt.subplots()
nx.draw(G, node_color=[cmap[node] for node in G.nodes()], with_labels=True, ax=ax)
sm = plt.cm.ScalarMappable(cmap=ListedColormap(color_palette),
norm=plt.Normalize(vmin=0, vmax=3))
sm._A = []
fig.colorbar(sm, ticks=range(1,4))