前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python数据分析之Seaborn(变量分析绘图)

Python数据分析之Seaborn(变量分析绘图)

作者头像
AI异构
发布2020-07-29 11:14:12
9690
发布2020-07-29 11:14:12
举报
文章被收录于专栏:AI异构AI异构

Seaborn变量分析绘图

代码语言:javascript
复制
%matplotlib inline
import numpy as np
import pandas as pd
from scipy import stats, integrate
import matplotlib.pyplot as plt

import seaborn as sns
sns.set(color_codes=True)
np.random.seed(sum(map(ord, "distributions")))
使用sns.distplot()函数画直方图
代码语言:javascript
复制
x = np.random.normal(size=100)
sns.distplot(x,kde=False) #distplot()函数会根据输入数据自动绘制直方图
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x1a1fb2a240>

你也可以通过bins自己划分直方图的切分粒度

代码语言:javascript
复制
sns.distplot(x, bins=20, kde=False)
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x1a202ebdd8>

通过fit查看数据分布的情况

代码语言:javascript
复制
x = np.random.gamma(6, size=200)
sns.distplot(x, kde=False, fit=stats.gamma)
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x1a204df5f8>
使用jointplot()函数绘制散点图

观测两个变量之间的分布关系最好用散点图

代码语言:javascript
复制
#生成数据
mean, cov = [0, 1], [(1, .5), (.5, 1)] #自定义均值与协方差
data = np.random.multivariate_normal(mean, cov, 200) #生成200个数据
df = pd.DataFrame(data, columns=["x", "y"]) #通过pandas读入数据
print(df.head())
代码语言:javascript
复制
          x         y
0  0.585042  1.162682
1  0.722117  2.141580
2  0.120990  0.498821
3 -0.795773  2.085261
4 -0.614260  2.215906
代码语言:javascript
复制
sns.jointplot(x="x", y="y", data=df)
代码语言:javascript
复制
<seaborn.axisgrid.JointGrid at 0x1a206a5b00>

通过kind="hex"使散点图具备透视性,更加容易查看数据的散点分布密度情况

代码语言:javascript
复制
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")
使用pairplot()函数绘制关系图

两不同变量比较绘制散点图,变量自身比较绘制直方图

代码语言:javascript
复制
iris = sns.load_dataset("iris") #载入鸢尾花数据集
sns.pairplot(iris) #绘制
代码语言:javascript
复制
<seaborn.axisgrid.PairGrid at 0x1a20ef4588>

参考

[Style functions]http://seaborn.pydata.org/tutorial/aesthetics.html#aesthetics-tutorial

[Color palettes]http://seaborn.pydata.org/tutorial/color_palettes.html#palette-tutorial

[Distribution plots]http://seaborn.pydata.org/tutorial/distributions.html#distribution-tutorial

[Categorical plots]http://seaborn.pydata.org/tutorial/categorical.html#categorical-tutorial

[Regression plots]http://seaborn.pydata.org/tutorial/regression.html#regression-tutorial

[Axis grid objects]http://seaborn.pydata.org/tutorial/axis_grids.html#grid-tutorial

[10分钟python图表绘制]https://zhuanlan.zhihu.com/p/24464836

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI异构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Seaborn变量分析绘图
    • 使用sns.distplot()函数画直方图
      • 使用jointplot()函数绘制散点图
        • 使用pairplot()函数绘制关系图
        • 参考
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档