web-dev-qa-db-ja.com

シーボーンカラーパレットがラインプロットで適切に機能しない

ラインプロットの色をカスタマイズするのに少し問題があります。スペクトルのアンサンブルを順次カラーパレットで表示したい。引数 "palette =" blues "は問題なく機能しますが、明るい色を含まない適切なカラーリスト(" Blues_d "など)を受け入れません。

This is a representative graph showing how my plot looks like

以下に、私が使用しているコードを示します。

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を使用しています

8
Joscha Kruse

hueオプションでt (min)列について言及しているので、列の一意の値の総数を知る必要があります。

列に5つの一意の値があると仮定します。したがって、番号をn_colorssns.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")
4
Hakan