Seaborn - KDE 线图更改颜色图
Seaborn - KDE line plot change colormap
我有一个 seaborn KDE 图,但我正在努力更改颜色图。即使我更改 palatte
它仍然保持 Set1
,即使 palatte
更改为 Blues
或不同的调色板颜色。我如何更改线图以在颜色图中具有颜色 viridis
?
代码也参考了这个问题和非常有用的答案:
import seaborn as sns
import pandas as pd
np.random.seed(1234)
array_2d = np.random.random((5, 20))
sns.kdeplot(data=pd.DataFrame(array_2d.T, columns=range(1, 6)), palette='Set1', multiple='layer')
plt.show()
但是当我尝试更改颜色图时,我不断收到错误消息:
cmap = sns.color_palette("viridis", as_cmap=True)
sns.kdeplot(data=pd.DataFrame(array_2d.T, columns=range(1, 6)),cmap=cmap, multiple='layer')
plt.show()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/tmp/ipykernel_216114/3245378387.py in <module>
1 cmap = sns.color_palette("viridis", as_cmap=True)
2
----> 3 sns.kdeplot(data=pd.DataFrame(array_2d.T, columns=range(1, 6)),cmap=cmap, multiple='layer')
4 plt.show()
AttributeError: 'Line2D' object has no property 'cmap'
如何通过 viridis
或其他颜色图将线条颜色更改为不同的颜色?
IIUC,使用 set_palette
:
sns.set_palette('viridis')
sns.kdeplot(data=pd.DataFrame(array_2d.T, columns=range(1, 6)), multiple='layer')
输出:
编辑:
正如 JohanC 所指出的,只需将 palette='viridis'
传递给 kdeplot
。
或palette=list(plt.cm.viridis(np.linspace(0, 1, 5)))
.
我有一个 seaborn KDE 图,但我正在努力更改颜色图。即使我更改 palatte
它仍然保持 Set1
,即使 palatte
更改为 Blues
或不同的调色板颜色。我如何更改线图以在颜色图中具有颜色 viridis
?
代码也参考了这个问题和非常有用的答案:
import seaborn as sns
import pandas as pd
np.random.seed(1234)
array_2d = np.random.random((5, 20))
sns.kdeplot(data=pd.DataFrame(array_2d.T, columns=range(1, 6)), palette='Set1', multiple='layer')
plt.show()
但是当我尝试更改颜色图时,我不断收到错误消息:
cmap = sns.color_palette("viridis", as_cmap=True)
sns.kdeplot(data=pd.DataFrame(array_2d.T, columns=range(1, 6)),cmap=cmap, multiple='layer')
plt.show()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/tmp/ipykernel_216114/3245378387.py in <module>
1 cmap = sns.color_palette("viridis", as_cmap=True)
2
----> 3 sns.kdeplot(data=pd.DataFrame(array_2d.T, columns=range(1, 6)),cmap=cmap, multiple='layer')
4 plt.show()
AttributeError: 'Line2D' object has no property 'cmap'
如何通过 viridis
或其他颜色图将线条颜色更改为不同的颜色?
IIUC,使用 set_palette
:
sns.set_palette('viridis')
sns.kdeplot(data=pd.DataFrame(array_2d.T, columns=range(1, 6)), multiple='layer')
输出:
编辑:
正如 JohanC 所指出的,只需将 palette='viridis'
传递给 kdeplot
。
或palette=list(plt.cm.viridis(np.linspace(0, 1, 5)))
.