Python matplotlib.pyplot.scatter()在导入seaborn软件包时会失去颜色吗?

Python matplotlib.pyplot.scatter()在导入seaborn软件包时会失去颜色吗?,python,matplotlib,plot,Python,Matplotlib,Plot,我正在使用jupyter笔记本中的matplotlib.pyplot.scatter()生成散点图,我发现如果导入seaborn包,散点图将失去颜色。我想知道是否有人有类似的问题 下面是一个示例代码 import matplotlib.pyplot as plt import seaborn as sb plt.scatter(range(4),range(4), c=range(4)) 输出是 无seaborn的散点图为: 这似乎就是它的行为方式。在seaborn 0.3中,默认颜色比例

我正在使用jupyter笔记本中的
matplotlib.pyplot.scatter()
生成散点图,我发现如果导入
seaborn
包,散点图将失去颜色。我想知道是否有人有类似的问题

下面是一个示例代码

import matplotlib.pyplot as plt
import seaborn as sb

plt.scatter(range(4),range(4), c=range(4))
输出是

seaborn
的散点图为:


这似乎就是它的行为方式。在seaborn 0.3中,默认颜色比例更改为灰度。如果您将代码更改为:

plt.scatter(范围(4),范围(4),c=sb.调色板())

您将得到一个与原始图像颜色相似的图像。
有关更多信息,请参阅上的Seaborn文档。

解决此问题的另一种方法是为
plt.scatter()
指定
cmap
选项,这样它就不会受到
Seaborn
的影响:

ax = plt.scatter(range(4),range(4), c=range(4), cmap='gist_rainbow')
plt.colorbar(ax)
结果是:

这里有许多用于
cmap
的选项:


这与seaborn设置颜色相关,默认颜色贴图为灰度。谢谢!如何将列表转换为seaborn颜色?例如,如果我想用列表[1,4,2,0]而不是[0,1,2,3]为这些数据点上色,我应该如何设置颜色?@username123您可以按照您想要使用的顺序创建颜色列表,然后将该列表传递到您的
c=
关键字中。可能有一种方法可以像你所要求的那样去做,但我不知道如何去做。