[英]Converting a matplotlib colourmap to a seaborn colour palette
我已經根據自己選擇的顏色制作了一個色圖,但是我想將其轉換為可以用來“色調”海洋圖的調色板。 這有可能嗎?
我用過...
cmap = pl.colors.LinearSegmentedColormap.from_list("", ["red","white"],gamma=0.5,N=len(hue))
...為了制作自己的顏色圖,我知道這是可行的,因為它可以成功地應用於標准的matplotlib.pyplot.scatter圖 ,如下所示。
plt.scatter(x=[1,2,3,4,5],y=[1,2,3,4,5],c=[5,4,3,2,1],cmap=cmap)
但是,我試圖使用seaborn的swarmplot函數並將色表作為色相參數傳遞。 顯然,這不起作用,因為此參數需要調色板-因此,我的問題是!
我不太確定從哪里開始! 任何幫助,將不勝感激!
淡藍色的調色板是簡單的顏色列表。 您可以通過獲取顏色
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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.