数据处理_Seaborn

一、加载数据集

seaborn默认提供了数据集,方便测试图表的使用。

import seaborn as sns
data = sns.load_dataset('tips')
print(data)

二、风格设置

Seaborn支持的风格有5种:

  • darkgrid黑背景-白格
  • whitegrid白背景-白格
  • dark黑背景
  • white白背景
  • ticks

设置风格的方法:

  •  set(style='')
  • set_style(value)统一设置
  • axes_style(value)单一设置

 三、调色板

支持的方法:

  • color_palette() 能传入任何Matplotlib所支持的颜色
  • color_palette() 不写参数则,默认颜色deep, muted, pastel, bright, dark, colorblind
  • color_palette()  ["#9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"]
  • light_palette() dark_palette()
  • set_palette() 设置所有图的颜色

四、柱状图

# 常规条图
import seaborn as sns
#示例数据
tips = sns.load_dataset("tips")
# 单变量柱状图
sns.barplot(x="day", y="total_bill",
data = tips)
# 显示图表
plt.show()
sns.catplot(data=tips,kind="bar",x="day",y="total_bill")


# 横向条图
import seaborn as sns
# 示例数据
tips = sns.load_dataset("tips")
# 单变量柱状图
sns.barplot(x="total_bill", y="day",data=tips)
# 显示图表
plt.show()


# 分组条图
import seaborn as sns
# 示例数据
tips = sns.load_dataset("tips")
# 分组柱状图
sns.barplot(x="day", y="total_bill",hue="sex", data=tips)
# 显示图表
plt.show()

 五、直方图

# 常规
import seaborn as sns
# 示例数据
tips = sns.load_dataset("tips")
# 基本直方图
sns.histplot(tips['total_bill'])
sns.displot(tips['total_bill'])



# 额外设置
import seaborn as sns
# 示例数据
tips = sns.load_dataset("tips")

# 直方图 + KDE 核密度估计
# 核密度估计的作用是用来估计概率密度函数的,它可以用来描述随机变量的密度分布
sns.histplot(tips['total_bill'],kde=True)
sns.displot(tips['total_bill'],kde=True)
# 多变量直方图
multiple = 'layer'
# 默认值,以层叠的形式展示
multiple = 'dodge'
# 以并列的形式展示
multiple = 'stack'
# 以堆叠的形式展示
multiple = 'fill'
# 以百分比堆叠的形式展示
sns.histplot(x='total_bill',hue='sex',data=tips)
sns.histplot(x='total_bill',hue='sex',data=tips, multiple='stack')
sns.histplot(x='total_bill',hue='sex',data=tips, multiple='dodge')
sns.histplot(x='total_bill',hue='sex',data=tips, multiple='fill')
sns.displot(x='total_bill',hue='sex',data=tips, multiple='stack')
sns.displot(x='total_bill',hue='sex',data=tips, multiple='dodge')
sns.displot(x='total_bill',hue='sex',data=tips, multiple='fill')
# 定制直方图
sns.histplot(x='total_bill',data=tips,bins=20, color='skyblue',edgecolor='black',linewidth=1.2)
sns.displot(x='total_bill',data=tips,bins=20, color='skyblue',edgecolor='black',linewidth=1.2)
# 累积直方图
sns.histplot(x='total_bill',data=tips,element='step')
sns.displot(x='total_bill',data=tips,element='step',col='time')

六、折线图

# 常规
import seaborn as sns
# 使用lineplot绘制折线图
sns.lineplot(x=[1,2,3,4,5],y=[1,2,3,4,5])
sns.relplot(x=[1,2,3,4,5],y=[1,2,3,4,5],kind='line')



# 额外设置
import seaborn as sns
# 示例数据
tips = sns.load_dataset("tips")
sns.lineplot(x="day", y="total_bill",data=tips)
sns.relplot(x="day", y="total_bill",data=tips, kind='line')

# 多变量折线图
sns.lineplot(x="day", y="total_bill",data=tips,hue='time')
sns.relplot(x="day", y="total_bill",data=tips,hue='time',kind='line')

# 使用relplot绘制折线图
sns.relplot(x="day", y="total_bill",
data=tips,
           kind='line',  # 图像类型
           hue='sex',    # 分类变量
           col='time')   # 分图变量

七、散点图

# 常规
import seaborn as sns
# 加载数据
tips = sns.load_dataset('tips')
# 常规散点图
sns.scatterplot(data=tips,x='total_bill',y='tip')
sns.relplot( data=tips, x='total_bill',y='tip',kind='scatter')
# 多组散点图
sns.scatterplot(data=tips,x='total_bill',y='tip',hue='smoker')
sns.relplot(data=tips,x='total_bill',y='tip',hue='smoker')
# 多变量散点图
sns.relplot(data=tips,x='total_bill',y='tip',hue='smoker',col='time')



# 分类散点图
import seaborn as sns
tips = sns.load_dataset("tips")
# 绘制分类散点图
sns.stripplot(x="total_bill", data=tips)
sns.stripplot(x="total_bill", y="day",data=tips)
sns.stripplot(y="total_bill", x="day",data=tips)
sns.stripplot(y="total_bill", x="day",data=tips,hue='sex')
sns.stripplot(y="total_bill", x="day",data=tips,hue='sex',dodge=True)
sns.stripplot(y="total_bill", x="day",data=tips,hue='sex',dodge=True)
sns.catplot(y="total_bill",x="day",data=tips,hue='sex',dodge=True,marker="D",col='smoker')
# 绘制展开的散点图
sns.swarmplot(y="total_bill", x="day",data=tips,hue='sex',marker="v")
sns.catplot(y="total_bill",x="day",data=tips,hue='sex',marker="v",col='smoker',kind='swarm')

八、盒图

import seaborn as sns
# 示例数据
tips = sns.load_dataset("tips")
sns.boxplot(x="day", y="total_bill",data=tips)
sns.boxplot(x="day", y="total_bill",data=tips,hue="smoker")
sns.boxplot(x="day", y="total_bill",data=tips,hue="smoker",
           fill=False,  # 填充箱体,默认为True
           gap=0.1,     # 箱体间隔
           width=0.5,   # 箱体宽度
           notch=True   # 箱体是否缺口
           )
sns.catplot(x="day", y="total_bill",data=tips,kind="box")
sns.catplot(x="day", y="total_bill",data=tips,kind="box",col="sex")

九、小提琴图

sns.violinplot(x="day", y="total_bill",data=tips)
sns.violinplot(x="day", y="total_bill",data=tips,hue="smoker")
sns.violinplot(x="day", y="total_bill",data=tips,hue="smoker",fill=False)    
# 空心
sns.violinplot(x="day", y="total_bill",data=tips,hue="smoker",fill=False,split=True)
# 拼接成1个
sns.violinplot(x="day",y="total_bill",data=tips,hue="smoker",fill=False,split=True,gap=0.1)   # 设置间隔
sns.catplot(x="day", y="total_bill",data=tips,hue="smoker",kind="violin",col="sex")

十、热力图

import seaborn as sns
import matplotlib.pyplot as plt
# 示例数据
flights = sns.load_dataset("flights")
flights
data = flights.pivot(index='month',columns='year',values='passengers')
data

sns.heatmap(data)
sns.heatmap(data,annot=True,fmt='d')    
# annot:是否显示数值,fmt:数值显示格式
sns.heatmap(data,annot=True,fmt='d',linewidths=.5) 
# linewidths:线宽
sns.heatmap(data,annot=True,fmt='d',linewidths=.5,cbar=False) 
# cbar:是否显示颜色条
sns.heatmap(data,annot=True,fmt='d',linewidths=.5,cbar=False,cmap='YlGnBu') 
# cmap:颜色条样式
sns.heatmap(data,annot=True,fmt='d',linewidths=.5,cbar=False,cmap='Blues') 
# cmap:颜色条样式
sns.heatmap(data,annot=True,fmt='d',linewidths=.5,cbar=False,vmin=200,vmax=400) 
# vmin,vmax:设置颜色条的最大最小值

十一、点图

import seaborn as sns
import matplotlib.pyplot as plt
# 示例数据
tips = sns.load_dataset("tips")
# 使用pointplot绘制点图
sns.pointplot(x="day", y="total_bill",data=tips)
# 分组
sns.pointplot(x="day", y="total_bill",data=tips,hue='sex')
# 设置标记
sns.pointplot(x="day", y="total_bill",
data=tips,hue='sex',markers=['o','s'],linestyles=['-','--'])
# 设置dodge,偏离图形中心的距离
sns.pointplot(x="day", y="total_bill",
data=tips,hue='sex',markers=['o','s'],linestyles=['-','--'],dodge=True)
# 设置catplot
sns.catplot(x="day", y="total_bill",data=tips,hue='sex',markers=['o','s'],linestyles=['-','--'],dodge=True,kind='point')
# 分图
sns.catplot(x="day", y="total_bill",data=tips,hue='sex',markers=['o','s'],linestyles=['-','--'],dodge=True,kind='point',col='smoker')

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值