Matplotlib + Seaborn - 两条颜色相同的线条?

时间:2015-11-04 05:50:13

标签: python matplotlib colors seaborn

我坚持认为这很简单。我在Matplotlib中使用默认的seaborn调色板。我想绘制两条具有相同颜色的线,我想要定义该颜色。我想使用默认的seaborn调色板中的颜色,即我喜欢seaborn红色而不是Matplotlib默认红色。

这是我的代码段:

import pylab as plot
import seaborn

t = np.arange(0.0, 2.0, 0.01)
s = np.sin(2*np.pi*t)
plt.plot(t, s, 'r')
plt.plot(t, 2*s, 'r')

如果我使用上面的代码,我得到Matplotlib的默认红色(如预期的那样)。是否有任何“简单”的方式来告诉它seaborn的红色?如果我没有定义颜色,颜色将循环通过seaborn的默认颜色循环。谢谢!

2 个答案:

答案 0 :(得分:7)

您可以使用seaborn.color_palette()获取默认的seaborn颜色(您可以通过该功能获得一些不同的调色板)。所以你可以这样做:

t = np.arange(0.0, 2.0, 0.01)
s = np.sin(2*np.pi*t)
plt.plot(t, s, c=seaborn.color_palette()[2])
plt.plot(t, 2*s, c=seaborn.color_palette()[2])

你必须自己完成默认调色板并确定哪个值与哪种颜色相对应,没有像我看到的那样有用的名称,如“红色”附加到RBG值。

答案 1 :(得分:7)

在seaborn 0.6或更高版本中,您可以致电seaborn.set_color_codes()seaborn.set(color_codes=True)"r"将被解释为默认的seaborn red。