seaborn直方图、散点图与回归分析图的绘制
学习了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直方图、散点图与回归分析图的绘制相关推荐
- python绘图矩阵散点图_Python实践:seaborn的散点图矩阵(Pairs Plots)可视化数据
如何快速创建强大的可视化探索性数据分析,这对于现在的商业社会来说,变得至关重要.今天我们就来,谈一谈如何使用python来进行数据的可视化! 一旦你有了一个很好的被清理过的数据集,下一步就是探索性数据 ...
- Python:seaborn的散点图矩阵(Pairs Plots)可视化数据
散点图矩阵让我们看到了两个变量之间的关系,分析趋势. 在本文中,我们将通过使用seaborn可视化库在Python中进行对图的绘制和运行.我们将看到如何创建默认配对图以快速检查我们的数据,以及如何自定 ...
- Matplotlib 2 |折线图| 柱状图| 堆叠图| 面积图| 填图| 饼图| 直方图| 散点图| 极坐标| 图箱型图
目录 Matplotlib 2 |折线图| 柱状图| 堆叠图| 面积图| 填图| 饼图| 直方图| 散点图| 极坐标| 图箱型图 1.基本图表绘制 plt.plot() ts.plot() 由Seri ...
- seaborn可视化散点图并自定义数据轴标签(X轴和Y轴的轴标签,Change X Y Axis Labels to a Seaborn Plot)
seaborn可视化散点图并自定义数据轴标签(X轴和Y轴的轴标签,Change X & Y Axis Labels to a Seaborn Plot) 目录
- seaborn可视化散点图并自定义可视化结果图像的大小(Change the Size of a Seaborn Plot)
seaborn可视化散点图并自定义可视化结果图像的大小(Change the Size of a Seaborn Plot) 目录 seaborn可视化散点图并自定义可视化结果图像的大小(Change ...
- seaborn可视化散点图并自定义图像的标题(title)以及自定义标题的字体大小(Set a Title to a Seaborn Plot)
seaborn可视化散点图并自定义图像的标题(title)以及自定义标题的字体大小(Set a Title to a Seaborn Plot) 目录
- Cox回归列线图(Nomogram)绘制过程
Cox回归列线图(Nomogram)绘制过程 目录 Cox回归列线图(Nomogram)绘制过程 列线图Nomogram 生存分析基本概念 生存分析的方法
- Plt 绘制 直方图 散点图 折线图 扇形图
更多实用基础技巧详见 1.plt.pie绘制扇形图 # 1. plt.pie绘制扇形图 import matplotlib.pyplot as plt %matplotlib inline label ...
- ols残差_python数据关系型图表散点图系列残差分析图
参差分析图(线性回归.二次回归) 残差分析(residual analysis)回归方程拟合的数值和实际数值的差值就是残差:残差分析是通过残差所提供的信息,分析出数据的可靠性.周期性或其他干扰:用于分 ...
最新文章
- 激活函数之logistic sigmoid函数介绍及C++实现
- 正在通过iTunes Store 进行鉴定
- R语言构建xgboost模型:特征重要度计算及解读、改善特征重要度数据的可解释性、特征重要度可视化
- sql优化之:深入浅出理解索引(系列二)(讲解非常透彻)
- 享元设计模式coding
- Android开发面试题之遍历ViewGroup拿到所有的ViewGroup和View的id
- Spring Cloud笔记-eureka及openfeign基本使用
- PSPNet-tensorflow实现并训练数据
- 比特币挖矿成本表_用算力趋势预测减半后比特币挖矿成本价
- 交警高德强联手 助威吉林马拉松
- 【LaTex编译遇到问题】!pdfTeX error: pdflatex (file simhei.ttf): cannot open TrueType font file for reading
- 操作系统课程设计报告(文件系统)
- 从计算机网络系统组成看 计算机网络可分为,从计算机网络系统组成的角度看,计算机网络可以分为 子网和资源子网。...
- 腾讯游戏客户端一面准备
- 沧小海深入剖析xilinx的GTP/GTX核,掌握高速串行收发机制——第七章 GTP的IP核配置
- css 全局撑开页面
- 把这本书讲给更多人(中):两次历史上著名的谋杀案?
- [渝粤教育] 山东大学 生物信息学 参考 资料
- 今日金融词汇---BP
- sublime批量处理excel数据
热门文章
- 编程初学者如何缓解迷茫和焦虑?墙裂推荐此文,助你赢在起跑线
- css table自适应斜线
- Mac os 上最简便的企业微信和微信双开方法
- Golang 微信小程序加密数据解密算法实现
- 【思科交换机常用命令汇总】
- Android11添加AIDL系统服务及HIDL接口服务
- Qt 样式表之QSS
- Android EventBus Subscriber class XXXActivity has no public methods called onEvent
- 《Imaging Systems For Medical Diagnostics》——12. X-ray components and systems (3) X射线组件和系统(3)
- ubuntu20.02安装显卡驱动常见问题总结