数据可视化库-Seaborn

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)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章