2015-11-04 107 views
5

我被困在可能是一件简单的事情上。我在Matplotlib中使用默认的seaborn颜色调色板。我想绘制两条具有相同颜色的线,并且我想要定义该颜色。我想使用默认的seaborn调色板的一部分颜色,即我希望seaborn红色而不是Matplotlib默认的红色。Matplotlib + Seaborn - 具有相同颜色的两条线?

这里是我的代码片段:

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的默认颜色循环。谢谢!

回答

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

这正是我一直在寻找的。非常感谢你! –

+0

请参阅我的回答,以获得在更新版本的seaborn中执行此操作的更好方法。 – mwaskom

7

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

+0

这是一个不错的选择。感谢分享! –

相关问题