gpt4 book ai didi

python - 如何使用 `colorbar` 调色板将 `networkx` 添加到 `seaborn`? ( python 3)

转载 作者:太空宇宙 更新时间:2023-11-03 10:57:02 24 4
gpt4 key购买 nike

我正在尝试将 colorbar 添加到我的 networkx 绘制的 matplotlib ax 范围 1 (最亮)和 3(最暗)[查看下面带有 cmap 的行]。我正在尝试结合很多 PyData 功能。

如何使用 seaborn 调色板在 networkx 图上添加颜色条类型特征?

enter image description here

# 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
nx.draw(G, node_color=[cmap[node] for node in G.nodes()], with_labels=True)

在这方面,他们都使用了 matplotlib 调色板:http://jakevdp.github.io/mpl_tutorial/tutorial_pages/tut3.html我什至尝试将它们转换为 ListedColormap 对象,但没有成功。

这对我的情况不起作用 b/c matplotlib 颜色图:Seaborn regplot with colorbar?

http://matplotlib.org/examples/pylab_examples/colorbar_tick_labelling_demo.html 相同

这是我得到的最接近的但它没有用我有一个自动缩放 Nonetype:How do I use seaborns color_palette as a colormap in matplotlib?

最佳答案

我认为最好的办法是按照this answer 伪造它因为您没有可使用的“ScalarMappable”。

对于离散颜色图

from matplotlib.colors import ListedColormap
sm = plt.cm.ScalarMappable(cmap=ListedColormap(color_palette),
norm=plt.Normalize(vmin=0, vmax=3))
sm._A = []
plt.colorbar(sm)

如果你想要一个线性(连续)颜色图并且只显示整数刻度

sm = plt.cm.ScalarMappable(cmap=sns.cubehelix_palette(3, as_cmap=True),
norm=plt.Normalize(vmin=0, vmax=3))
sm._A = []
plt.colorbar(sm, ticks=range(4))

enter image description here

关于python - 如何使用 `colorbar` 调色板将 `networkx` 添加到 `seaborn`? ( python 3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39627490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com