数据分析补充----Seaborn

 

seaborn的参考文档:http://seaborn.pydata.org/api.html

设置背景

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
%matplotlib inline  # 在matplotlib中显示图片

# seaborn中有五种主题风格
# darkgrid  whitegrid  dark  white  ticks
# 可以通过sns.set_style('dark')设置风格
with sns.axes_style('darkgrid'):
    plt.subplot(221)
    sinplot()
plt.subplot(212)
sinplot()

# sinplot()是之前定义的一个画sin图像的函数

sns.set()  # 设定回默认的背景参数
sns.set_context('notebook',font_scale=3.5,rc={'line.linewidth':2.5})  # 指定图中标注的大小,还有线的粗细
sinplot()

调色板

# 调色板
# color_palette()能传入任何Matplotlib所支持的颜色,不写参数则使用默认颜色
# set_palette()设置所有图的颜色
current_platte = sns.color_palette()
sns.palplot(current_platte)
# 有六个默认的颜色循环主题

# 圆形画板:当你有六个以上的类要进行区分的时候,最简单的方法就是在一个圆形的颜色空间中画出均匀间隔的颜色(这样的色调会保持亮度和饱和度不变)这是大多数的当他们需要使用比当前默认颜色多的时的默认方案
# 最常用的就是使用hls的空间,这是RGB值的一个简单的转换
sns.palplot(sns.color_palette('hls',8))

# np.arange和range的区别就是np.arange返回的是一个ndarray,并且步长支持float,返回的数值也是float
data = np.random.normal(size=(20,8)) + np.arange(8)/2
sns.boxplot(data=data,palette=sns.color_palette('hls',8))
#sns.boxplot(data=data,palette=sns.hls_palette(8,l=.5,s=.3))  # 通过hls_palette可以调节整个图像的亮度和饱和度

# xkcd包含了一套众包努力的针对随机RGB色的命名,产生了954个可以随机通过xkcd_rgb字典中调用的命名颜色
sns.set()
plt.plot([0,1],[0,1],sns.xkcd_rgb['pale red'],lw=3)


 

# 连续色板
sns.palplot(sns.color_palette('Blues'))
# 如果想要翻转渐变,可以在面板名称中添加一个_r后缀
sns.palplot(sns.color_palette('Blues_r'))

# light_palette()和dark_palette()调用定制连续调色板
sns.palplot(sns.light_palette('green'))
sns.palplot(sns.dark_palette('purple'))
sns.palplot(sns.light_palette('green',reverse=True))

扫描二维码关注公众号,回复: 5412112 查看本文章

单变量绘图(distplot)

# 单变量绘图,画直方图
x = np.random.normal(size=100)
sns.distplot(x,bins=20,kde=False)

jointplot

import pandas as pd
mean,cov = [0,1],[(1,.5),(.5,1)]
data = np.random.multivariate_normal(mean,cov,200)
df = pd.DataFrame(data,columns=['x','y'])

sns.jointplot(x='x',y='y',data=df)

# 当数据量很大的时候,不容易看出来变量之间的关系,可以通过hex图来看一下相互之间的关系
with sns.axes_style('white'):
    sns.jointplot(x='x',y='y',kind='hex',color='k',data=df)

pairplot

iris = sns.load_dataset('iris')
print(iris)
sns.pairplot(data=iris)

猜你喜欢

转载自blog.csdn.net/weixin_41931540/article/details/88108194