学习笔记4 seaborn库

  1. 整体布局
    import seaborn as sns
  2. set_style( ) 和 set( )
    set_style( )是用来设置主题的,Seaborn有五个预设好的主题: darkgrid(默认,横纵坐标都有标线,组成一个一个格子,背景稍微深色) , whitegrid(横坐标有标线,纵坐标没有标线,背景白色) , dark(背景稍微深色,没有标线线) , white (背景白色,没有标线线),和 ticks(xy轴都有非常短的小刻度) 默认: darkgrid
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set_style("whitegrid")
plt.plot(np.arange(10))
plt.show()

学习笔记4 seaborn库_第1张图片
set( )通过设置参数可以用来设置背景,调色板等,更加常用。

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="white", palette="muted", color_codes=True)     #set( )设置主题,调色板更常用
plt.plot(np.arange(10))
plt.show()

学习笔记4 seaborn库_第2张图片

  1. distplot( ) kdeplot( )
    distplot( )为hist加强版,kdeplot( )为密度曲线图
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
sns.set( palette="muted", color_codes=True)
rs = np.random.RandomState(10)
d = rs.normal(size=100)
f, axes = plt.subplots(2, 2, figsize=(7, 7), sharex=True)
sns.distplot(d, kde=False, color="b", ax=axes[0, 0])
sns.distplot(d, hist=False, rug=True, color="r", ax=axes[0, 1])
sns.distplot(d, hist=False, color="g", kde_kws={"shade": True}, ax=axes[1, 0])
sns.distplot(d, color="m", ax=axes[1, 1])
plt.show()

学习笔记4 seaborn库_第3张图片

  1. 子图的整体布局
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

def sinplot(flip=1): #自定义一个函数
	x = np.linspace(0,14,100) #0-14取100个点

	for i in range(1,7): #画了6条线
		plt.plot(x,np.sin(x + i *0.5) * (7 - i) * flip) #sin函数
	plt.show()

sinplot()

学习笔记4 seaborn库_第4张图片
不同风格的图

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

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 *0.5) * (7 - i) * flip)
	#plt.show()

#sinplot()


with sns.axes_style("darkgrid"): #with里面的用一种背景风格
	plt.subplot(211)
	sinplot()
plt.subplot(212)
sinplot(-1)
plt.show()

学习笔记4 seaborn库_第5张图片

  1. 调色板

默认颜色主题

current_palette = sns.color_palette()
sns.palplot(current_palette)
plt.show()

在这里插入图片描述
圆形画板(所需颜色超过默认数量)

current_palette = sns.color_palette("hls",12)
sns.palplot(current_palette)
plt.show()

在这里插入图片描述
自定义调色板

current_palette = sns.color_palette("hls",12)

data = np.random.normal(size=(20,12)) + np.arange(12) / 2 #随机生成的数据
sns.boxplot(data=data,palette=current_palette) #使用颜色就是传递参数给palette
plt.show()

学习笔记4 seaborn库_第6张图片
生成颜色对

current_palette = sns.color_palette("Paired",12) 
sns.palplot(current_palette)
plt.show()

在这里插入图片描述
连续画板

current_palette = sns.color_palette("Blues") #直接传颜色,有浅到深
#current_palette = sns.color_palette("Blues_r")  #有深到浅
sns.palplot(current_palette)

plt.show()

在这里插入图片描述
颜色线性变化:cubehelix_palette()调色板

current_palette = sns.color_palette("cubehelix",8)
sns.palplot(current_palette)
plt.show()

在这里插入图片描述
light_palette()和dark_palette()调用定制连续调色板

sns.palplot(sns.light_palette("green"))
plt.show()

在这里插入图片描述

  1. 单变量的分析绘图(拿到数据时先进行数据分析)
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
from scipy import stats,integrate
import pandas as pd

x = np.random.normal(size=100) #随机生成100个数据
sns.distplot(x,bins=20,kde=False,fit=stats.gamma) #kde是需不需要计算核密度,bins是多少个小柱形,fit=stats.gamma看图形变化的趋势,如图黑色的曲线
plt.show()

学习笔记4 seaborn库_第7张图片

  1. 散点图(
iris = sns.load_dataset("iris") #导入鸢尾花数据集
sns.pairplot(iris)
plt.show() #直方图是单变量的分析,散点图是特征之间的关系

  1. 特征比较多时,可用sns.pairplot(data)
iris = sns.load_dataset("iris") #导入鸢尾花数据集
sns.pairplot(iris)
plt.show() #直方图是单变量的分析,散点图是特征之间的关系

学习笔记4 seaborn库_第8张图片

  1. 回归模型:sns.regplot() 或者sns.lmplot
    tips = sns.load_dataset("tips") #导入tips数据集 sns.regplot(x="total_bill",y="tip",data=tips) #画回归图 plt.show()学习笔记4 seaborn库_第9张图片
  2. 画某个特征中不同属性的值sns.stripplot()
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
from scipy import stats,integrate
import pandas as pd

iris = sns.load_dataset("iris")#导入鸢尾花数据集
tips = sns.load_dataset("tips") #导入tips数据集
titanic = sns.load_dataset("titanic") #导入泰坦的数据集
sns.stripplot(x="day",y="total_bill",data=tips,jitter=True)#jitter是数据点可以稍微偏离一些,这样数据量大的时候可以避免画的点全部集中在一起看不清
plt.show()

学习笔记4 seaborn库_第10张图片

  1. 画某个特征中不同属性的数据单独画出来sns.FacetGrid()
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
from scipy import stats,integrate
import pandas as pd

tips = sns.load_dataset("tips") #导入tips数据集
g = sns.FacetGrid(tips,col="sex",hue="smoker") #将sex这列的数据按照不同的属性分开画,同时加入条件是不是抽烟的
g.map(plt.scatter,"total_bill","tip")
g.add_legend() #显示图例
plt.show()

学习笔记4 seaborn库_第11张图片

你可能感兴趣的:(python,数据分析)