学习了seaborn的基本风格操作设置之后我们便操作seaborn学习直方图、散点图的绘制方法,以及对数据进行回归分析的方法(本文使用jupyter notebook为开发环境)。

  • 直方图的绘制
    首先我们导入必须的包以及matplotlib的魔法方法,使得我们绘制的图象能直接显示;并为随机数设置种子,使得每次执行相同方法产生相同的随机数。
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inlinesns.set(color_codes=True)
np.random.seed(sum(map(ord, 'distributions')))# 当我们设置相同的seed,每次生成的随机数相同。
# 如果不设置seed,则每次会生成不同的随机数
# map() 会根据提供的函数对指定序列做映射。
# 即返回'distributions'该字符串每个字母的二进制数
# 并用sum函数求和,将和作为种子,这里似乎是习惯上的写法。

运用distplot函数进行直方图的绘制:

# 直方图的绘制
x = np.random.normal(size=100) # 产生一组数量为100的高斯分布数据
sns.distplot(x, kde=True) # kde控制是否显示核密度估计图

结果如图:

displot可选参数如下:(参考官方文档)

a : Series, 1d-array, or list.

Observed data. If this is a Series object with a name attribute, the name will be used to label the data axis.

bins : argument for matplotlib hist(), or None, optional #设置矩形图数量

Specification of hist bins, or None to use Freedman-Diaconis rule.

hist : bool, optional #控制是否显示条形图

Whether to plot a (normed) histogram.

kde : bool, optional #控制是否显示核密度估计图

Whether to plot a gaussian kernel density estimate.

rug : bool, optional #控制是否显示观测的小细条(边际毛毯)

Whether to draw a rugplot on the support axis.

fit : random variable object, optional #控制拟合的参数分布图形

An object with fit method, returning a tuple that can be passed to a pdf method a positional arguments following an grid of values to evaluate the pdf on.

{hist, kde, rug, fit}_kws : dictionaries, optional

Keyword arguments for underlying plottin
  • 散点图的绘制
    利用jointplot()函数进行散点图的绘制
# 绘制散点图
# 生成指定均值与协方差的200个数据
# 协方差数据一般以元组形式给出,表示某数的次方
import pandas as pd
mean, cov = [0, 1], [(1, .5), (.5, 1)]
data = np.random.multivariate_normal(mean, cov, 1000)
df = pd.DataFrame(data, columns=['x', 'y'])

结果如下:

可以看出来散点图的xy轴上还有数据分布的直方图。
如果我们数据较多,会发现点的分布过于密集,无法查看直观的分布状况。这时我们指定kind参数,使图变成蜂窝状的显示:

sns.jointplot(x='x', y='y', data=df, kind='hex', size=(8))

结果如图:

我们还可以通过with语句与axes_style()函数的连用使得我们暂时的改变绘图风格,使得最终图像成为黑白间隔的风格。

with sns.axes_style('white'):sns.jointplot(x='x', y='y', data=df, kind='hex', color='k', size=(9))

结果如图:

我们可以通过改变具体参数或调用函数,做出更独特的图(请自行查阅官方文档)。

  • 成对数据的显示
    我们载入seaborn的内置数据iris(鸢尾花),用pairplot()函数显示数据。
# 正对角线表示一维  非对角线表示二维
iris = sns.load_dataset('iris')
sns.pairplot(iris)


正对角线的数据代表相同的数据集。

  • 通过数据进行回归分析
    调入小费数据,对小费数据进行回归分析
tips = sns.load_dataset('tips')
# tips.head()

regplot()和lmplot()都可以绘制回归方程,但是初学者推荐用regplot()
代码如下:

sns.set_style('whitegrid')
plt.figure(figsize=(9,6))
sns.regplot(x='total_bill', y='tip', data=tips)

结果如图:

如果我们的x值设定为size则会发现结果有些不适合于观察,大体为竖直的直线。

plt.figure(figsize=(9,6))
sns.regplot(x='size', y='tip', data=tips)


这时我们要设定一个x的偏离值,代码如下:

plt.figure(figsize=(9,6))
# 设置偏离值
sns.regplot(x='size', y='tip', data=tips, x_jitter=.05)

总结
seaborn的应用比matplotlib更加简便一些,我们可以利用几行语句便绘制出风格鲜明的图例,但是seaborn说白了还只是一个工具罢了,我们不用很理解每一个参数代表什么或者记忆那些绘图函数,必要时查看官方文档即可。

seaborn直方图、散点图与回归分析图的绘制相关推荐

  1. python绘图矩阵散点图_Python实践:seaborn的散点图矩阵(Pairs Plots)可视化数据

    如何快速创建强大的可视化探索性数据分析,这对于现在的商业社会来说,变得至关重要.今天我们就来,谈一谈如何使用python来进行数据的可视化! 一旦你有了一个很好的被清理过的数据集,下一步就是探索性数据 ...

  2. Python:seaborn的散点图矩阵(Pairs Plots)可视化数据

    散点图矩阵让我们看到了两个变量之间的关系,分析趋势. 在本文中,我们将通过使用seaborn可视化库在Python中进行对图的绘制和运行.我们将看到如何创建默认配对图以快速检查我们的数据,以及如何自定 ...

  3. Matplotlib 2 |折线图| 柱状图| 堆叠图| 面积图| 填图| 饼图| 直方图| 散点图| 极坐标| 图箱型图

    目录 Matplotlib 2 |折线图| 柱状图| 堆叠图| 面积图| 填图| 饼图| 直方图| 散点图| 极坐标| 图箱型图 1.基本图表绘制 plt.plot() ts.plot() 由Seri ...

  4. seaborn可视化散点图并自定义数据轴标签(X轴和Y轴的轴标签,Change X Y Axis Labels to a Seaborn Plot)

    seaborn可视化散点图并自定义数据轴标签(X轴和Y轴的轴标签,Change X & Y Axis Labels to a Seaborn Plot) 目录

  5. seaborn可视化散点图并自定义可视化结果图像的大小(Change the Size of a Seaborn Plot)

    seaborn可视化散点图并自定义可视化结果图像的大小(Change the Size of a Seaborn Plot) 目录 seaborn可视化散点图并自定义可视化结果图像的大小(Change ...

  6. seaborn可视化散点图并自定义图像的标题(title)以及自定义标题的字体大小(Set a Title to a Seaborn Plot)

    seaborn可视化散点图并自定义图像的标题(title)以及自定义标题的字体大小(Set a Title to a Seaborn Plot) 目录

  7. Cox回归列线图(Nomogram)绘制过程

    Cox回归列线图(Nomogram)绘制过程 目录 Cox回归列线图(Nomogram)绘制过程 列线图Nomogram 生存分析基本概念 生存分析的方法

  8. Plt 绘制 直方图 散点图 折线图 扇形图

    更多实用基础技巧详见 1.plt.pie绘制扇形图 # 1. plt.pie绘制扇形图 import matplotlib.pyplot as plt %matplotlib inline label ...

  9. ols残差_python数据关系型图表散点图系列残差分析图

    参差分析图(线性回归.二次回归) 残差分析(residual analysis)回归方程拟合的数值和实际数值的差值就是残差:残差分析是通过残差所提供的信息,分析出数据的可靠性.周期性或其他干扰:用于分 ...

最新文章

  1. 激活函数之logistic sigmoid函数介绍及C++实现
  2. 正在通过iTunes Store 进行鉴定
  3. R语言构建xgboost模型:特征重要度计算及解读、改善特征重要度数据的可解释性、特征重要度可视化
  4. sql优化之:深入浅出理解索引(系列二)(讲解非常透彻)
  5. 享元设计模式coding
  6. Android开发面试题之遍历ViewGroup拿到所有的ViewGroup和View的id
  7. Spring Cloud笔记-eureka及openfeign基本使用
  8. PSPNet-tensorflow实现并训练数据
  9. 比特币挖矿成本表_用算力趋势预测减半后比特币挖矿成本价
  10. 交警高德强联手 助威吉林马拉松
  11. 【LaTex编译遇到问题】!pdfTeX error: pdflatex (file simhei.ttf): cannot open TrueType font file for reading
  12. 操作系统课程设计报告(文件系统)
  13. 从计算机网络系统组成看 计算机网络可分为,从计算机网络系统组成的角度看,计算机网络可以分为 子网和资源子网。...
  14. 腾讯游戏客户端一面准备
  15. 沧小海深入剖析xilinx的GTP/GTX核,掌握高速串行收发机制——第七章 GTP的IP核配置
  16. css 全局撑开页面
  17. 把这本书讲给更多人(中):两次历史上著名的谋杀案?
  18. [渝粤教育] 山东大学 生物信息学 参考 资料
  19. 今日金融词汇---BP
  20. sublime批量处理excel数据

热门文章

  1. 编程初学者如何缓解迷茫和焦虑?墙裂推荐此文,助你赢在起跑线
  2. css table自适应斜线
  3. Mac os 上最简便的企业微信和微信双开方法
  4. Golang 微信小程序加密数据解密算法实现
  5. 【思科交换机常用命令汇总】
  6. Android11添加AIDL系统服务及HIDL接口服务
  7. Qt 样式表之QSS
  8. Android EventBus Subscriber class XXXActivity has no public methods called onEvent
  9. 《Imaging Systems For Medical Diagnostics》——12. X-ray components and systems (3) X射线组件和系统(3)
  10. ubuntu20.02安装显卡驱动常见问题总结