matplotlib数据可视化分析(3)-- matplotlib 散点图的绘制

什么是散点图

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

举例我们来实现身高和体重的散点图:
# coding:utf-8
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()

在这里插入图片描述

可以看出身高和体重有明显的正相关关系。

相关性一般来说有三种情况:正相关、负相关、不相关。

一个不相关的例子:

# coding:utf-8
import matplotlib.pyplot as plt
import numpy as np

N = 1000
x = np.random.randn(N)
y1 = np.random.randn(N)
plt.scatter(x, y1)
plt.show()

因为 x 和 y1 都是随机生成的,所以我们可以期望这两者是不相关的。
在这里插入图片描述

一个正相关的例子:

# coding:utf-8
import matplotlib.pyplot as plt
import numpy as np

N = 1000
x = np.random.randn(N)
y1 = x + np.random.randn(N)*0.5
plt.scatter(x, y1)
plt.show()

在这里插入图片描述

实例:股票价格的涨幅

# coding:utf-8
import matplotlib.pyplot as plt
import numpy as np

open_data, close_date = np.loadtxt('000001.csv', delimiter=',',
                                   skiprows=1, usecols=(1, 4), unpack=True)

change_data = open_data - close_date
print change_data
# 数据的大小 (242,)
print change_data.shape
# 计算涨幅的时候我们需要取其前 241 个以及后 241 个
# 用这两批数据形成散点图 即为前一天和后一天的涨幅
yesterday_data = change_data[:-1]
today_data = change_data[1:]

plt.scatter(yesterday_data, today_data)
plt.show()

图形如图:
在这里插入图片描述

由图可知,前一天的涨幅和后一天的涨幅没有太大的关系。

散点图的外观调整

用的比较多的几个是:
(1)颜色,c
(2)点大小,s
(3)透明度,alpha
(4)点形状,marker

以股票上一小节的股票绘图为例,

调整点的大小
plt.scatter(yesterday_data, today_data, s=100)

在这里插入图片描述

s 默认是 10 ,s = 10 和 s = 100 是面积相差为 10 倍的关系。

调整点的颜色
 plt.scatter(yesterday_data, today_data, c='r')

在这里插入图片描述

调节点的形状
plt.scatter(yesterday_data, today_data, marker='<')

在这里插入图片描述

调节透明度
plt.scatter(yesterday_data, today_data, s=500, alpha=0.5)

在这里插入图片描述

使用透明度我们可以比较清楚地看到哪些点是集中的,哪些点是不集中的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值