3.2 分析特征间的关系
3.2.1 绘制散点图 scatter()
散点图(scatter diagram)又称为散点分布图,是以一个特征为横坐标,另一个特征为纵坐标,利用坐标点(散点)的分布形态反映特征间的统计关系的一种图形。
值是由点在图表中的位置表示,类别是由图表中的不同标记表示,通常用于比较跨类别的数据。
散点图可以提供两类关键信息。
(1)特征之间是否存在数值或者数量的关联趋势,关联趋势是线性的还是非线性的。
(2)如果某一个点或者某几个点偏离大多数点,那这些点就是离群值。通过散点图可以一目了然,从而可以进一步分析这些离群值是否在建模分析中产生很大的影响。
散点图通过散点的疏密程度和变化趋势表示两个特征的数量关系。如果有3个特征,若其中一个特征为类别型,散点图改变不同特征的点的形状或者颜色,即可了解两个数值型特征和这个类别型之间的关系。
pyplot中绘制散点图的函数为scatter,其使用语法如下:
scatter函数
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, alpha=None, **kwargs)
常用参数及说明如下表所示:
例子1:绘制2000-2017年各季度国民生产总值散点图
# 1、绘制2000-2017年各季度国民生产总值散点图
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei' # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False
data = np.load('F:/书籍/Python数据分析与应用/37304_Python数据分析与应用_源代码和实验数据/
第3章/data/国民经济核算季度数据.npz',allow_pickle=True)
name = data['columns'] # 提取其中的columns,作为数据的标签
print("name:\n",name)
values = data['values'] # 提取其中的values数组,视为数据的存在位置
print("values:\n", values)
plt.figure(figsize = (8,7)) # 设置画布
plt.scatter(values[:,0],values[:,2],marker='o') # 绘制散点图
plt.xlabel('年份')
plt.ylabel('生产总值(亿元)')
plt.ylim((0,225000)) # 设置y轴范围
# 添加x轴刻度 --->1.添加刻度2.添加刻度的值,3.将值旋转45度
plt.xticks(range(0,70,4), values[range(0,70,4), 1], rotation=45)
plt.title('2000-2017各季度国民生产总值散点图')
plt.savefig('F:/书籍/Python数据分析与应用/自己实现/3.22000-2017各季度国民生产总值散点图.png')
plt.show()
例子2:使用不同颜色不同形状的点,绘制2000-2017年各产业各季度国民生产总值散点图
# 2、使用不同颜色不同形状的点,绘制2000-2017年各产业各季度国民生产总值散点图
plt.figure(figsize=(8,7)) #设置画布
# 绘制散点图1
plt.scatter(values[:,0], values[:,3], marker='o',c='red')
# 绘制散点图2
plt.scatter(values[:,0], values[:,4], marker='D',c='blue')
# 绘制散点图3
plt.scatter(values