目录
前言
散点图是用于观测数据的相关性的,有正相关,负相关,不相关
(一)散点图的基础知识
(1)说明
语法:plt.scatter(x, y, s, c ,marker, alpha)
x,y: x轴与y轴的数据
s: 点的面积
c: 点的颜色
marker: 点的形状
alpha: 透明度
(2)源代码
我们来探讨身高与体重是否相关?
import numpy as np
import matplotlib.pyplot as plt
# 身高与体重的数据
height = [161, 170, 182, 175, 173, 165]
weight = [50, 58, 80, 70, 69, 55]
# 散点图
plt.scatter(height, weight)
plt.ylabel("height")
plt.xlabel("weight")
# 展示图标
plt.show()
(3)输出效果
(二)相关性的举例
==1.正相关==
(1)源代码
import numpy as np
import matplotlib.pyplot as plt
N = 1000
# 数据
x = np.random.randn(N)
y2 = x + np.random.randn(N)*0.5
# 散点图
plt.scatter(x, y2)
# 展示图标
plt.show()
(2)输出效果
==1.负相关==
(1)源代码
import numpy as np
import matplotlib.pyplot as plt
N = 1000
# 数据
x = np.random.randn(N)
y2 = -x + np.random.randn(N)*0.5
# 散点图
plt.scatter(x, y2)
# 展示图标
plt.show()
(2)输出效果
==1.不相关==
(1)源代码
import numpy as np
import matplotlib.pyplot as plt
N = 1000
# 数据
x = np.random.randn(N)
y1 = np.random.randn(N)
# 散点图
plt.scatter(x, y1)
# 展示图标
plt.show()
(2)输出效果
(三)实战项目以一股票的分析
(1)说明
有的人说股票的涨跌变动,昨天的与今天的有关,今天我们就用散点图来分析一下。
(2)源代码
import numpy as np
import matplotlib.pyplot as plt
# 1.数据
open_data, close_data = np.loadtxt("000001.csv", delimiter=',', skiprows=1, usecols=(1, 4), unpack=True)
change_data = close_data - open_data
# 1.1前一天的数据
yesterday = change_data[:-1]
# 1.2后一条的数据
today = change_data[1:]
# 2.散点图 s (面积) c (颜色) marker (标记) alpha(透明度)
plt.scatter(yesterday, today, s=500, c="r", marker="^", alpha=0.5)
# 4.展示图
plt.show()