Python可视化之seaborn


seaborn介绍

seaborn是在matplotlib基础上开发的一套API,比matplotlib简洁,为图形样式和颜色设置提供合理的选择,同时为很多常用的统计图形提供专门的高级函数调用。pandas与DataFrame有机结合,是使用matplotlib时很好的附加工具。


1.解决坐标轴刻度负号乱码

import matplotlib.pyplot as plt
plt.rcParams['axes.unicode_minus']=False

解决中文乱码问题

2. 解决中文乱码问题

plt.rcParams['font.sans-serif']=['Simhei']
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] 

3. 忽略警告

import warnings
warnings.filterwarnings('ignore')

4.风格选择

  • darkgird(默认)
  • whitegrid
  • dark
  • white
  • ticks
    sns.set()可以用来充值seaborn默认主题
    在这里插入图片描述
    上图中有乱码,细究其底层原因,是因为sns.set()重置了方法内的字体设置,解决办法:可以在方法体内的第一行加上如下代码即可
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['font.sans-serif']=['Simhei']

在这里插入图片描述

如果想改变seaborn主题,可以使用以下语句

  • axes_style()
  • set_style()比如将默认主题改为ticks
    在这里插入图片描述
    在这里插入图片描述

5.自定义坐标轴

其中offset可以设置坐标轴偏移位置
在这里插入图片描述

6.自定义绘图元素比例

seaborn有一套参数可以控制绘图元素比例,有四个预设环境,从小到大分别为paper、notebook、talk、poster,默认为notebook,以paper、notebook为例,可以看成坐标轴等元素有变化。
在这里插入图片描述

7.一元分布图

在seaborn中,快速观察单变量分布的最方便的方法为displot函数,默认使用柱状图(histogram)绘制

  • hist:bool,可选,是否绘制(标准化)直方图
  • bin:直方图在横坐标的数据值范围内均等分的形成一定数量的数据段数量
  • kde:bool,可选,是否绘制核密度曲线(高斯)
  • rug:bool,可选,在每个观测点上的垂直小标签
    在这里插入图片描述

8.二元分布图

  • 对于双变量的可视化,最简单的办法是使用jointplot函数,它能够创建一个多面板来展示两个变量之间的联合关系,以及每个轴上单变量的分布情况
import pandas as pd
np.random.seed(10)
x = np.random.normal(size=100)
y = np.random.normal(size=100)
df = pd.DataFrame({'x':x,'y':y})
sns.jointplot(x = 'x', y = 'y',data=df)

在这里插入图片描述

  • hexbin图
    1)用于绘制相对大的数据集,展示了落在六角形箱内的观测量
    2) hexbin图可以通过matplotlibd的plt.hexbin函数绘制
    3)也可以通过sns.jointplot内的kind参数绘制,即可kind=‘hex’,建议使用白色背景(视觉效果好)
    在这里插入图片描述

9.多元矩阵图

对多维数据集进行可视化展示时,可使用矩阵图,可用于探查数据关系

iris = pd.read_csv(r'E:/file/iris.csv')
sns.pairplot(iris)

在这里插入图片描述

10.其他常见图形

散点图

sns.scatterplot(x='字段名A',y='字段名B',data='dataFrame数据')

线图

sns.lineplot(x='字段名A',y='字段名B',data='dataFrame数据')

柱状图

sns.barplot(x='字段名A',y='字段名B',data='dataFrame数据')

计数图

sns.countplotx='字段名A',data='dataFrame数据')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值