【python】seaborn可视化之基础图

https://blog.csdn.net/cymy001/article/details/78418432
有待补充
Python 中,数据可视化一般是通过较底层的 Matplotlib 库和较高层的 Seaborn库实现的,本文主要介绍一些常用的图的绘制方法。

9是多分类面板,能够绘制多个图,并且可通过kind参数绘制出更多的图。

1、一维数据

import seaborn as sns
import pandas as pd
import numpy as np
from scipy import stats,integrate
import matplotlib.pyplot as plt
sns.set(color_codes = True)
np.random.seed(sum(map(ord,"distributions")))
x = np.random.normal(size=100)
sns.distplot(x,kde=False)

【python】seaborn可视化之基础图_第1张图片

sns.distplot(x,bins=20,kde=False) # 切分为20小块

【python】seaborn可视化之基础图_第2张图片

x = np.random.gamma(6,size=200)
sns.distplot(x,kde=False,fit=stats.gamma) 

【python】seaborn可视化之基础图_第3张图片

2、二维数据的分布

mean,cov = [0,1],[(1,0.5),(0.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)

观测两个变量的分布关系,而且还输出皮尔森指数

【python】seaborn可视化之基础图_第4张图片

如果数据很多的话,用hex图能更好的显示出分布

x,y = np.random.multivariate_normal(mean,cov,1000).T
with sns.axes_style('white'):
    sns.jointplot(x=x,y = y,kind='hex',color='k')

可以看出结果分布较多是在中间位置,通过颜色深浅看出分布

【python】seaborn可视化之基础图_第5张图片

3、回归

np.random.seed(sum(map(ord,"regression")))
tips = sns.load_dataset("tips")
tips.head()

【python】seaborn可视化之基础图_第6张图片

regplot() 和 lmplot()都可以绘制回归关系

sns.regplot(x="total_bill",y="tip",data=tips)
sns.lmplot(x="total_bill",y="tip",data=tips)

目前看区别不大,但是后者功能更多,规范也多。

【python】seaborn可视化之基础图_第7张图片

用离散数据作回归

sns.regplot(x="size",y="tip",data=tips)

看出显示并不好

【python】seaborn可视化之基础图_第8张图片

原始数据集是类别值,都是整数,现在加了点浮动(参数x_jitter)

使得离散值,变得像连续值

sns.regplot(x="size",y="tip",data=tips,x_jitter=0.05)

【python】seaborn可视化之基础图_第9张图片

sns.regplot(x="size",y="tip",data=tips,x_jitter=0.5)

【python】seaborn可视化之基础图_第10张图片

4、对类别值的可视化展示

titanic = sns.load_dataset("titanic")
iris = sns.load_dataset("iris")
sns.stripplot(x='day',y="total_bill",data=tips)

像散点图,但是不怎么看得出来,因为都重叠了,影响观察数据量

【python】seaborn可视化之基础图_第11张图片

参数 jitter=True相当于往左右偏移,使得不重叠

sns.stripplot(x='day',y="total_bill",data=tips,jitter=True)

【python】seaborn可视化之基础图_第12张图片

sns.swarmplot(x='day',y="total_bill",data=tips)

画出来像一棵树

【python】seaborn可视化之基础图_第13张图片

三个参数,加入更多的条件hue

sns.swarmplot(x='day',y="total_bill",hue='sex',data=tips)

【python】seaborn可视化之基础图_第14张图片

sns.swarmplot(y='day',x="total_bill",hue='time',data=tips)

【python】seaborn可视化之基础图_第15张图片

5、盒图

可观察离群点,竖着画对x,y类型没要求
sns.boxplot(x='day',y='total_bill',hue="time",data=tips)

【python】seaborn可视化之基础图_第16张图片

可以横着画,但是x,y必须是数值型

sns.boxplot(y='size',x='total_bill',data=tips,orient="h") 

【python】seaborn可视化之基础图_第17张图片

6、小提琴图

sns.violinplot(x='day',y='total_bill',hue="time",data=tips)

【python】seaborn可视化之基础图_第18张图片

sns.violinplot(x='day',y='total_bill',hue="sex",data=tips,split=True)

【python】seaborn可视化之基础图_第19张图片

还可以合体

sns.violinplot(x='day',y='total_bill',data=tips,inner=None)
sns.swarmplot(x='day',y="total_bill",data=tips,color='w',alpha=0.5)

【python】seaborn可视化之基础图_第20张图片

7、分类数据

通过柱状图观察一等、二等、三等舱的分布

sns.barplot(x='sex',y='survived',hue='class',data=titanic)

【python】seaborn可视化之基础图_第21张图片

8、折线图

sns.pointplot(x='sex',y='survived',hue='class',data=titanic)

【python】seaborn可视化之基础图_第22张图片

sns.pointplot(x='class',y='survived',hue='sex',data=titanic,
              palette={"male":"g","female":"m"},
              maker=["s","o"],linestyles=["-","--"])

【python】seaborn可视化之基础图_第23张图片

你可能感兴趣的:(python_ing)