J'ai un peu de mal à personnaliser mes couleurs pour un tracé de ligne. Je veux montrer un ensemble de spectres avec une palette de couleurs séquentielle. L'argument "palette =" blues "fonctionne bien, mais n'accepte aucune liste de couleurs appropriée (comme" Blues_d "), qui n'inclut aucune couleur vive.
Ci-dessous, vous pouvez voir le code que j'utilise.
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")
Le problème est que je reçois l'erreur suivante:
ValueError: la liste de palettes contient un nombre de couleurs incorrect.
La question est donc la suivante: comment utiliser la fonction de tracé de ligne en utilisant une palette de couleurs séquentielle de bleus, de rouges ou de tout ce qui ne contient pas de couleurs vives?
J'utilise la version 0.23.3 de pandas, la version 2.2.2 de matplotlib et la version 0.9.0 de seaborn
Puisque vous mentionnez la colonne t (min)
dans l'option hue
, vous devez connaître le nombre total de valeurs uniques de la colonne.
Supposons qu'il y a 5 valeurs uniques dans la colonne. Vous pouvez donc définir le nombre avec l'option n_colors
de sns.color_palette
:
ax = sns.lineplot(x="Wavelength",
y="Absorption",
hue="t (min)",
lw=1,
data=df1,
palette=sns.color_palette('coolwarm', n_colors=5),
legend="brief")