自定义线条图的颜色时遇到了一些麻烦。我想用顺序的调色板显示一组光谱。参数“ palette =” blues“可以很好地工作,但是不接受任何不包含任何亮色的适当颜色列表(例如” Blues_d“)。
下面您可以看到我正在使用的代码。
color = (sns.dark_palette("purple"))
sns.set()
ax = sns.lineplot(x="Wavelength", y="Absorption", hue="t (min)", lw=1, data=df1, palette=color, legend="brief")
问题是,我收到以下错误:
ValueError:调色板列表中的颜色数量错误。
所以问题是:我该如何使用lineplot函数以及蓝色,红色或不包含任何明亮颜色的顺序调色板?
我正在使用pandas版本0.23.3,matplotlib版本2.2.2和seaborn版本0.9.0
答案 0 :(得分:1)
由于您在t (min)
选项中提到了hue
列,因此您需要知道该列的唯一值的总数。
假定该列中有5个唯一值。因此,您可以将数字设置为n_colors
的{{1}}选项:
sns.color_palette
答案 1 :(得分:1)
如果您通过在 sns.color_palette 中将“as_cmap”参数设置为 True 将调色板设置为颜色图,则无需担心颜色计数:
ax = sns.lineplot(x="Wavelength",
y="Absorption",
hue="t (min)",
lw=1,
data=df1,
palette=sns.color_palette('coolwarm', as_cmap = True),
legend="brief")