gpt4 book ai didi

python - 将 matplotlib 颜色图转换为 seaborn 调色板

转载 作者:行者123 更新时间:2023-12-01 00:40:39 27 4
gpt4 key购买 nike

我已经用我选择的颜色制作了颜色图,但是我想将其转换为可用于“调色”seaborn 绘图的调色板。这可能吗?如果可能的话,怎么可能?

我用过...

cmap = pl.colors.LinearSegmentedColormap.from_list("", ["red","white"],gamma=0.5,N=len(hue))

...为了制作我自己的颜色图,我知道它有效,因为它可以应用于标准 matplotlib.pyplot.scatter plot成功,如下图。

plt.scatter(x=[1,2,3,4,5],y=[1,2,3,4,5],c=[5,4,3,2,1],cmap=cmap)

click here to see the output as it won't let me embed an image

但是,我正在尝试使用seaborn的swarmplot函数并传入我的颜色图作为色调参数。显然这不起作用,因为这个参数需要一个调色板 - 因此我的问题!

我不太确定从哪里开始!任何帮助将不胜感激!

最佳答案

seaborn 调色板是一个简单的颜色列表。您可以通过以下方式获取颜色

cmap(np.linspace(0,1,cmap.N))

完整示例:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
import seaborn as sns

df =pd.DataFrame({"x" : np.random.randint(0,4, size=200),
"y" : np.random.randn(200),
"hue" : np.random.randint(0,4, size=200)})

u = np.unique(df["hue"].values)
cmap = mcolors.LinearSegmentedColormap.from_list("", ["indigo","gold"],gamma=0.5,N=len(u))

sns.swarmplot("x", "y", hue="hue", data=df, palette=cmap(np.linspace(0,1,cmap.N)))

plt.show()

enter image description here

关于python - 将 matplotlib 颜色图转换为 seaborn 调色板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57373881/

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