【Python数据分析】之可视化Seaborn库

前言

  1. Python数据分析结课了,即将结束复习考试,往期记录的只是自己的学习部分,沧海一粟而已,不要停止学习
  2. 想继续学习的小伙伴可以参考《Python数据分析与应用》和系列文章

系列文章

  1. Python数据分析之复习知识点
  2. Python之Series和DataFrame的数据排序
  3. Python之Numpy(二)
  4. Python之pandas

Seaborn绘制统计图形

Seaborn基于Matplotlib核心库进行了更高级的API封装,可以轻松地画出更漂亮的图形,而Seaborn的漂亮主要体现在配色更加舒服,以及图形元素的样式更加细腻。

1.可视化数据的分布 当处理一组数据时,通常先要做的就是了解变量是如何分布的。 •对于单变量的数据来说,采用直方图或核密度曲线是个不错的选择。
•对于双变量来说,可采用多面板图形展现,比如散点图、二维直方图、核密度估计图形等。

Seaborn中提供了一个distplot()函数,它默认绘制的是一个带有核密度估计曲线的直方图。
distplot(a, bins = None,hist = True,kde = True,rug = False, …)

参数作用
a表示要观察的数据
bins用于控制条形的数量
hist表示是否绘制(标注)直方图
kde表示是否绘制高斯核密度估计曲线
rug表示是否在支持的轴方向上绘制rugplot

一、直方图

import seaborn as sns
import numpy as np
get_ipython().run_line_magic('matplotlib', 'inline')
sns.set()           # 显式调用set()获取默认绘图
np.random.seed(0)   # 确定随机数生成器的种子
arr=np.random.randn(100)     #生成随机数组
ax=sns.distplot(arr,bins=10) #绘制直方图

  • 直方图会因为条柱数量的不同导致图表的效果有着很大的差异,为了解决这个问题,可以绘制核密度估计曲线进行展现。
  • 核密度估计是在概率论中用来估计未知的密度函数,属于非参数检验方法之一,可以比较直观的看出数据样本本身的分布特征。

如果希望使用Seaborn用Matplotlib的默认样式,则需要显式地调用set()或set_style()、set_context()和set_palette()中的一个或多个函数,以获取Seaborn或者Matplotlib默认的绘图样式。

二、核密度估计曲线

# 创建包含500个位于[0,100]之间整数的随机数组
array_random=np.random.randint(0,100,500)
# 绘制核密度估计曲线
sns.distplot(array_random,hist=False,rug=True)

# In[11]:

三、绘制散布图

绘制双变量分布

通过jointplot()函数可以创建一个多面板图形,以显示两个变量之间的关系及每个变量在单独坐标轴上的单变量分布。

seaborn.jointplot(x, y, data=None, kind=‘scatter’, color=None, size=6, ratio=5, space=0.2, dropna=True, xlim=None, ylim=None, …, **kwargs)

参数作用
kind表示绘制图形的类型
stat_func用于计算有关关系的统计量并标注图
color表示绘图元素的颜色
size用于设置图的大小
ratio表示中心图与侧边图的比例。
space用于设置中心图与侧边图的间隔大小
xlim,ylim表示x,y轴的范围
import pandas as pd # 创建DataFrame对象
dataframe_obj=pd.DataFrame({"x":np.random.randn(500),"y":np.random.randn(500)})
# 绘制散布图
sns.jointplot(x="x",y="y",data=dataframe_obj)


调用jointplot()函数时只要传入kind=“hex“可以绘制二维直方图。

四、绘制二维直方图

# 调用jointplot()函数时只要传入kind=“hex”可以绘制二维直方图。
# 绘制二维直方图
sns.jointplot(x="x",y="y",data=dataframe_obj,kind="hex")


调用jointplot()函数时传入**kind=“kde”**可以绘制核密度估计图形。

五、核密度估计

# 核密度估计
sns.jointplot(x="x",y="y",data=dataframe_obj,kind="kde")

绘制成对的双变量分布

要想在数据集中绘制多个成对的双变量分布,则可以使用pairplot()函数实现,该函数会创建一个坐标轴矩阵,并且显示DataFrame对象中每对变量的关系。

# 加载seaborn中的数据集
dataset = pd.read_csv('d:/tips.csv')
# 绘制多个成对的双变量分布
sns.pairplot(dataset)


完整图片,好不好看吧

六、多个成对的双变量分布

# 加载seaborn中的数据集
tips=pd.read_csv('d:/tips.csv')
# 绘制多个成对的双变量分布
sns.stripplot(x="day",y="total_bill",data=tips)


文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
上一篇 2022年5月19日 上午10:35
下一篇 2022年5月19日 上午10:41

相关推荐

本站注重文章个人版权,不会主动收集付费或者带有商业版权的文章,如果出现侵权情况只可能是作者后期更改了版权声明,如果出现这种情况请主动联系我们,我们看到会在第一时间删除!本站专注于人工智能高质量优质文章收集,方便各位学者快速找到学习资源,本站收集的文章都会附上文章出处,如果不愿意分享到本平台,我们会第一时间删除!