我正在使用jupyter笔记本中的matplotlib.pyplot.scatter()
生成一些散点图,我发现如果导入seaborn
包,散点图将失去颜色。我想知道是否有人有类似的问题?
这是一个示例代码
import matplotlib.pyplot as plt
import seaborn as sb
plt.scatter(range(4),range(4), c=range(4))
输出
没有seaborn
的散点图是:
答案 0 :(得分:1)
这似乎是它的行为方式。在seaborn 0.3中,默认色标被更改为灰度。如果您将代码更改为:
plt.scatter(range(4),range(4), c=sb.color_palette())
您将获得与原始颜色相似的图像。 有关详细信息,请参阅choosing color palettes上的Seaborn文档。
答案 1 :(得分:1)
解决此问题的另一种方法是为cmap
指定plt.scatter()
选项,以使其不受seaborn
的影响:
ax = plt.scatter(range(4),range(4), c=range(4), cmap='gist_rainbow')
plt.colorbar(ax)
此处cmap
有很多选项:
http://matplotlib.org/examples/color/colormaps_reference.html