这是我参与11月更文挑战的第14天,活动详情查看:2021最后一次更文挑战
复习回顾
我们在往前几期中对matplotlib模块学习,对常用的反映数据变化的折线图,对比数据类型差异的柱状图和反应数据频率分布情况的直方图。
往前内容快速查看
- matplotlib 模块概述:matplotlib 模块常用方法汇总
- matplotlib 模块底层原理:matplotlib 模块脚本层、美工层及后端层讲解
- matplotlib 绘制折线图:折线图相关属性和方法汇总
- matplotlib 绘制柱状图:柱状图相关属性和方法汇总
- matplotlib 绘制直方图:直方图相关属性和方法汇总
在数据统计图表中,有一种图表是散列点分布在坐标中,反应数据随着自变量变化的趋势。
本期,我们将详细学习matplotlib 绘制散点图相关属性的学习,let’s go~
- 什么是散点图?
+ 散点图用于在水平轴和垂直轴上绘制数据点,数据以点状分布在左标系中
+ 散点图表示因变量随着自变量而变化的大致趋势
+ 散点图由多个左坐标点构成,考察坐标点的分布,判断是否存在某种关联或者分布模式
+ 对于不同类别的点,则由图表中不同形状或颜色的标记符表示
+ 散点图主要分为散点图矩阵、三维散点图、ArcGIS散点图
- 散点图使用场景
+ 散点图用于比较跨类别的聚合数据
+ 散点图用于分析数据线性、多项式趋势情况
+ 散点图用于四象限分析
+ 散点图用于找到数据趋势公式
+ 散点图可以为后期精确的图标进行辅助
- 绘制散点图步骤
1. 导入matplotlib.pyplot模块
2. 准备数据,可以使用numpy/pandas整理数据
3. 调用pyplot.scatter()绘制散点图
- 案例展示
本次案例我们将分析某产品不同定价销售额分布情况
- 案例需要准备两组数据x和y轴,其中x,y轴的数据量要保持一致
1 | python复制代码x_value = np.random.randint(50,100,50) |
- 绘制散点
1 | python复制代码import matplotlib.pyplot as plt |
- 设置散点大小
+ 关键字:s
+ 传入数据类型为list或者数字,默认为20
- 设置散点颜色
+ 关键字:c
+ 默认颜色为蓝色
+ 取值范围
- 表示颜色的英文单词:如红色"red"
- 表示颜色单词的简称如:红色"r",黄色"y"
- RGB格式:十六进制格式如"#88c999";(r,g,b)元组形式
- 也可以传入颜色列表
- 设置散点样式
+ 关键字:marker
+ 系统默认为'o'小圆圈
+ 取值还可以取:('o', 'v', '^', '<', '>', '8', 's', 'p', '\*', 'h', 'H', 'D', 'd', 'P', 'X')
- 设置透明度
+ 关键字:alpha
+ 取值范围:0~1
- 设置散点边框
+ 关键字: edgecolor
+ 默认为face
+ 取值选项:
- "face"|"none"
- 表示颜色的英文单词、简写或者rgb
- 我们结合上一节的案例,设置散点大小,散点边框为粉色,散点颜色为#88c999
1 | python复制代码size = (20*np.random.rand(50))**2 |
我们在查看散点图时,有时候会借助折线图来辅助分析。我们继续拿第一节的数据来分析。
- 我们使用np.random.rand()来生成100个随机数据
1 | python复制代码x_value = 100*np.random.rand(100) |
- 需要借助我们高中的数学公司如sin\cos函数等(高中数学都还给老师了)
- 使用pyplot.plot()方法来绘制曲线图
1 | python复制代码r0 = 80 |
我们在观察数据的时候,会同时比较多个类型数据,因此我们可以通过颜色或者散点样式来区分表示
- 方式一: 使用颜色来区分不同类别时,我们需要再添加新的数据和scatter方法
1 | python复制代码x_value = 100*np.random.rand(100) |
- 方式二:我们可以使用marker来标记不同类型,例如我们使用上一节的案例再添加一个scatter()
1 | python复制代码r0 = 80 |
在散点图表中,我们为了对每个点颜色深浅进行表示,我们可以借助cmap颜色条来进行添加
- 颜色条显示关键字:cmap
- 默认为viridis,可选值如accent_r,blues_r,brbg_r,greens_r等等
- 表示每种颜色从0~100的值
当要显示颜色列表时,我们需要调用pyplot.colorbar()
例如,我们对散点图添加一个红色系的颜色列表
1 | python复制代码size = (20*np.random.rand(100))**2 |
散点图都是由一个一个坐标点组成的,当这些点具有一定规律时,我们可以使用散点图来绘制曲线。
我们使用scatter()绘制一个2次方的幂函数
1 | python复制代码x_value = list(range(1, 100)) |
总结
本期,我们对matplotlib.pyplot 绘制散点图scatter方法及相关属性进行详细的学习。对于暂时没有找到规律的数据来说,使用散点图可以快速发现数据的分布情况
以上是本期内容,欢迎大佬们点赞评论,下期见~
本文转载自: 掘金