目錄
目錄
前言
散點圖是用於觀測數據的相關性的,有正相關,負相關,不相關
(一)散點圖的基礎知識
(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()