文章目录
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数据')