import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline #这句话的意思就是可以直接显示图
def sinplot(flip=1):
x = np.linspace(0,14,100) #(0,14) 取100点成图
for i in range(1,7):
plt.plot(x,np.sin(x+i*.5)*(7-i)*flip)
sinplot()
整体风格设置
sns.set() #使用seaborn默认的参数
sinplot()
五种主题风格
1.darkgrid
2.whitegrid
3.dark
4.white
5.ticks
sns.set_style("whitegrid")
data = np.random.normal(size=(20,6))+np.arange(6)/2
#data = np.random.normal(size=(20,6))+np.arange(6)/2
sns.boxplot(data=data)
boxplot的意义:
sns.set_style("dark")
sinplot()
风格细节设置
sns.set_style("whitegrid")
sns.boxenplot(data=data,palette='deep')
sns.despine(left=True) #隐藏左边的座标轴
#这里指定一个with域,从而生成两个子图,两种不同的风格
with sns.axes_style('darkgrid'):
plt.subplot(211)
sinplot()
plt.subplot(212)
sinplot(-1)
#另一种调节图中线的粗细程度的风格:paper talk poster notebook,前三种风格的线越来越粗,最后一个notebook是可以通过参数的修改的
sns.set() #使用默认设置
sns.set_context('paper')#图片的布局
plt.figure(figsize=(8,6)) #图片的规模
sinplot()
sns.set_context("notebook", font_scale = 2, rc={"lines.linewidth" : 4.5}) #这个是可以的设置的参数的,font_scale是改变座标轴上的大小,rc中的line.linewidth是改变线的粗细
plt.figure(figsize=(8, 6))
sinplot()
调色板
color_palette()能传入任何matplotlib所支持的颜色
color_palette()不出参数则默认颜色
set_palette()设置所有图的颜色
seaborn提供6个默认的颜色主题:deep,multed,pastel,bright,dark,colorblind
当你需要6个以上的颜色的时候,可以使用hls的颜色空间,这是RGB的一个简单转换。
current_palette = sns.color_palette()
sns.palplot(current_palette)
sns.palplot(sns.color_palette("hls",8)) #产生8种颜色
hls_palette()函数来控制颜色的亮度和饱和
l-亮度 lightness
s-饱和 saturation
sns.palplot(sns.hls_palette(8,l=.5,s=.9))
sns.palplot(sns.color_palette("Paired",8)) #成对出现的颜色
调色板颜色设置
使用xkcd颜色来命名颜色
xkcd包含了一套针对RGB色的命名,产生了954个可以随时通过xkcd_rgb字典中调用的颜色命名。
plt.plot([0,3],[0,1],sns.xkcd_rgb['pale red'],lw=3)
plt.plot([0,1],[0,2],sns.xkcd_rgb['medium green'],lw=3)
plt.plot([0,1],[0,3],sns.xkcd_rgb['denim blue'],lw=3)
colors = {'windows blue','amber','greyish','faded green','dusty purple'}
sns.palplot(sns.xkcd_palette(colors))
连续色板
色彩随着数据而变化,比如数据越来越重要,颜色越来越深
sns.palplot(sns.color_palette('Blues'))
sns.palplot(sns.color_palette('BuGn_r')) #后面加_r表示由深入浅
sns.palplot(sns.color_palette('cubehelix',8)) #线性调色板
sns.palplot(sns.cubehelix_palette(8,start=.5,rot=-.75))
light_palette() 的dark_palette()调用定制连续调色板
sns.palplot(sns.dark_palette("Green"))
sns.palplot(sns.light_palette("Green"))
sns.palplot(sns.light_palette("Navy",reverse=True)) #设置反转
x,y = np.random.multivariate_normal([0,0],[[1,-.5],[-.5,1]],size=300).T
pal = sns.dark_palette("Green",as_cmap=True)
sns.kdeplot(x,y,cmap=pal)