在本教程中,您将学习如何创建高级散点图。

准备好笔记本

和往常一样,我们从设置编码环境开始。import pandas as pd

import matplotlib.pyplot as plt

%matplotlib inline

import seaborn as sns

print("Setup Complete")

加载并检查数据

我们将使用一个(合成的)保险费用数据集,看看我们是否能理解为什么有些客户比其他人支付更多。

如果您愿意,您可以在这里阅读关于数据集的更多信息。# Path of the file to read

insurance_filepath = "../input/insurance.csv"

# Read the file into a variable insurance_data

insurance_data = pd.read_csv(insurance_filepath)

与往常一样,我们通过打印前五行来检查数据集是否正确加载。insurance_data.head()

散点图

要创建简单的散点图,我们使用sns.scatterplot命令并指定以下值:水平x轴(x = insurance_data ['bmi']),和

垂直y轴(y = insurance_data ['charge'])。sns.scatterplot(x=insurance_data['bmi'], y=insurance_data['charges'])

输出:

上面的散点图表明,体重指数(BMI)和保险费用正相关,而BMI较高的客户通常也倾向于支付更高的保险费用。 (这种模式是有道理的,因为高BMI通常与慢性疾病的高风险相关。)

要仔细检查此关系的强度,您可能希望添加回归线或最适合数据的线。 我们通过将命令更改为sns.regplot来完成此操作。sns.regplot(x=insurance_data['bmi'], y=insurance_data['charges'])

输出:/opt/conda/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.

return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval

颜色编码的散点图

我们可以使用散点图来显示三个变量之间的关系!一种方法是用颜色编码这些点。

例如,为了了解吸烟是如何影响BMI和保险成本之间的关系,我们可以用“吸烟者”来对这些点进行颜色编码,并在坐标轴上标出另外两列(BMI, charge)。sns.scatterplot(x=insurance_data['bmi'], y=insurance_data['charges'], hue=insurance_data['smoker'])

输出:

这个散点图显示,随着体重指数的增加,不吸烟的人愿意支付更多的钱,而吸烟的人支付更多。

为了进一步强调这一事实,我们可以使用sns.lmplot命令添加两个回归线,分别对应于吸烟者和非吸烟者。(您会注意到,相对于非吸烟者,吸烟者的回归曲线斜率要大得多!)sns.lmplot(x="bmi", y="charges", hue="smoker", data=insurance_data)

输出:/opt/conda/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.

return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval

sns.lmplot命令的工作原理与您目前学到的命令略有不同:我们没有设置x=insurance_data['bmi']来选择insurance_data中的'bmi'列,而是设置x="bmi"来指定列的名称。

同样,y="charge "和hue=" smoking "也包含列的名称

我们使用data=insurance_data指定数据集。

最后,还有一个你会学到的图,它可能看起来和你习惯看到的散点图有点不同。通常,我们使用散点图来突出两个连续变量(如“bmi”和“charge”)之间的关系。但是,我们可以调整散点图的设计,使其在一个主轴上显示一个分类变量(如“smoking”)。我们将此图类型称为分类散点图,并使用sns.swarmplot命令构建它。sns.swarmplot(x=insurance_data['smoker'],

y=insurance_data['charges'])

输出:

除此之外,这幅图还告诉我们:平均而言,非吸烟者的收费比吸烟者低,而且支付最多的顾客是吸烟者;而花费最少的顾客是非吸烟者。

本地可运行代码:import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

# Path of the file to read

insurance_filepath = "data-for-datavis/insurance.csv"

# Read the file into a variable insurance_data

insurance_data = pd.read_csv(insurance_filepath)

print(insurance_data.head())

sns.scatterplot(x=insurance_data['bmi'], y=insurance_data['charges'])

# 添加回归线

sns.regplot(x=insurance_data['bmi'], y=insurance_data['charges'])

# 颜色区分

sns.scatterplot(x=insurance_data['bmi'], y=insurance_data['charges'], hue=insurance_data['smoker'])

# 2条回归线

sns.lmplot(x="bmi", y="charges", hue="smoker", data=insurance_data)

# 分类散点图

sns.swarmplot(x=insurance_data['smoker'],

y=insurance_data['charges'])

plt.show()

python seaborn 散点图矩阵_Kaggle、Python数据可视化seaborn(四):散点图相关推荐

  1. Py之Seaborn:数据可视化Seaborn库的柱状图、箱线图(置信区间图)、散点图/折线图、核密度图/等高线图、盒形图/小提琴图/LV多框图的组合图/矩阵图实现

    Py之Seaborn:数据可视化Seaborn库的柱状图.箱线图(置信区间图).散点图/折线图.核密度图/等高线图.盒形图/小提琴图/LV多框图的组合图/矩阵图实现 目录

  2. Python数据可视化的例子——散点图(scatter)

    (关系型数据的可视化) 散点图用于发现两个数值变量之间的关系 如果需要研究两个数值型变量之间是否存在某种关系,例如正向的线性关系,或者是趋势性的非线性关系,那么散点图将是最佳的选择. 1.matplo ...

  3. 大数据可视化python_大数据分析之Python数据可视化的四种简易方法

    本篇文章探讨了大数据分析之Python数据可视化的四种简易方法,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 数据可视化是任何数据科学或机器学习项目的一个重要组成部分 ...

  4. python 财务分析可视化方法_Python数据可视化的四种简易方法

    Python数据可视化的四种简易方法 作者:PHPYuan 时间:2018-11-28 03:40:43 摘要: 本文讲述了热图.二维密度图.蜘蛛图.树形图这四种Python数据可视化方法. 数据可视 ...

  5. Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化、箱型图/散点图、小提琴图/散点图组合可视化的简介、使用方法之最强攻略(建议收藏)

    Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化.箱型图/散点图.小提琴图/散点图组合可视化的简介.使用方法之最强攻略(建议收藏) 目录 二.组合图可视 ...

  6. Python: 除matplotlib外还有哪些数据可视化库?

    Python: 除matplotlib外还有哪些数据可视化库? matplotlib算是python比较底层的可视化库,可定制性强.图表资源丰富.简单易用.达到出版质量级别. 其它的可视化库诸如: s ...

  7. 用python进行简单的数据分析和数据可视化

    用python进行简单的数据分析和数据可视化 本篇文章主要是初步探索数据分析,简单了解数据分析大致流程 数据来源:来自于Kaggle平台上的一个项目:Explore San Francisco cit ...

  8. 在R、Python和Julia中常用的数据可视化技术

    俗话说"一图胜千言".通过各种图片和图形化展示,我们可以更清晰地表达很多抽象概念.理论.数据模式或某些想法.在本章中,我们首先解释为什么应该关心数据可视化.然后,我们将讨论几种在R ...

  9. Py之seaborn:数据可视化seaborn库(三)的矩阵图可视化之jointplot/JointGrid/pairplot/PairGrid/FacetGrid密度图等的函数源代码详解之最强攻略

    Py之seaborn:数据可视化seaborn库(三)的矩阵图可视化之jointplot/JointGrid/pairplot/PairGrid/FacetGrid折线图/柱状图+散点图/矩形密度图的 ...

  10. python爬虫数据可视化_适用于Python入门者的爬虫和数据可视化案例

    本篇文章适用于Python小白的教程篇,如果有哪里不足欢迎指出来,希望对你帮助. 本篇文章用到的模块: requests,re,os,jieba,glob,json,lxml,pyecharts,he ...

最新文章

  1. Automatically highlight current page in menu via Javascript
  2. JQuery动态执行javascript代码的方法
  3. java中map比较大小_java中对map根据value进行排序
  4. hdu 2824 The Euler function
  5. python请输入你的名字_实现《你的名字》同款滤镜,python+opencv
  6. 挂机宝装mysql_挂机宝安装
  7. 一起Polyfill系列:让Date识别ISO 8601日期时间格式
  8. 交换二叉树中所有结点的左右子树的位置
  9. js打印不询问直接打印_直接成型喷墨打印的五个关键注意事项
  10. 激光导航agv常见的三大应用场景是什么?
  11. 百度公司关于SEO的建议
  12. html5超级玛丽小游戏
  13. 在Windows本地安装ElasticSearch和Kibana
  14. clappr:可扩展网页媒体播放器使用(在vue中的使用)
  15. 模糊控制(二)模糊控制——模糊推理
  16. 降噪蓝牙耳机推荐什么牌子好?入耳式降噪蓝牙耳机推荐
  17. 计算机高级 论文怎么考,干货丨如何在一个月内通过高级软考证
  18. Uniapp实现小程序获取用户微信信息功能
  19. 2022华为杯A题第二问详细思路分析移动场景超分辨定位问题
  20. SpringMVC学习系列(6) 之 数据验证

热门文章

  1. makefile的编写(4)
  2. Windows 10 预览版安装
  3. Oracle软件安装及手工建库
  4. 破解路由器密码并限制和***邻居电脑
  5. 在Linux下基于路由策略的IP地址控制
  6. Android的双进程守护,广播和双进程
  7. nanopi制作个人服务器,NanoPi K2 服务器系统镜像
  8. mysql 重置表索引_第19期:索引设计(哈希索引数据分布与使用场景)
  9. Pyston v2 发布:比 Python 快 20%
  10. Redisson 3.13.6 发布,官方推荐的 Redis 客户端