二、Matplotlib数据可视化-散点图

一、概念

散点图显示两组数据的值,每个点的坐标位置由变量的值决定。·由一组不连接的点完成,用于观察两种变量的相关性。例如身高-体重、温度-纬度、等等。

二、绘制一个简单的散点图

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()

猜你喜欢

转载自blog.csdn.net/qq_40836442/article/details/112329439