一、概念
散点图显示两组数据的值,每个点的坐标位置由变量的值决定。·由一组不连接的点完成,用于观察两种变量的相关性。例如身高-体重、温度-纬度、等等。
二、绘制一个简单的散点图
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.show()
三、散点图的作用
散点图主要是用来观察数据的相关性。数据的相关性有三种,分别为正相关、负相关、不相关。
(一)不相关
import numpy as np
import matplotlib.pyplot as plt
N=1000
x=np.random.randn(N)
y=np.random.randn(N)
plt.scatter(x,y)
plt.show()
(二)正相关
import numpy as np
import matplotlib.pyplot as plt
N=1000
x=np.random.randn(N)
y=np.random.randn(N)*0.5+x
plt.scatter(x,y)
plt.show()
(三)负相关
import numpy as np
import matplotlib.pyplot as plt
N=1000
x=np.random.randn(N)
y=np.random.randn(N)*0.5-x
plt.scatter(x,y)
plt.show()
四、scatter散点图函数的一些配置
plt.scatter(x,y,s=100,c='r',marker='o',alpha=0.5),s是点的面积大小,c是点的颜色默认为b蓝色,marker是点的形状,默认为o圆形,alpha为透明度,默认为1完全不透明。具体的参数内容可以去官网查看https://matplotlib.org/
import numpy as np
import matplotlib.pyplot as plt
N=100
x=np.random.randn(N)
y=np.random.randn(N)*0.5-x
plt.scatter(x,y,s=100,c='r',marker='>',alpha=0.5)
plt.show()
五、作业
1、使用000001.SH数据
2、计算最高价和看盘价之差diff
3、绘出前后两天diff的散点图,研究是否有相关性
调整散点图的颜色:c、点大小:s、透明度:alpha、点形状:marker
由于没有000001.SH数据,所以自己随机生成一个000001.SH.csv文件,用于完成作业
import numpy as np
import matplotlib.pyplot as plt
#随机生成000001.SH.csv文件,保存到当前目录
a=[]
for i in range(100):
a.append(np.random.randint(100,500,2))
np.savetxt('000001.SH.csv',np.array(a),fmt='%d',delimiter=',')
#读取000001.SH.csv文件数据
a,b=np.loadtxt('000001.SH.csv',dtype=int,delimiter=',',unpack=True)
diff=b-a
print(diff)
today=diff[1:]
yesterday=diff[:-1]
#绘图
plt.scatter(today,yesterday,s=50,c='r',marker='<',alpha=0.3)
plt.show()