散点图#

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
# matplotlib加入中文支持
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']

基本散点图#

"""
二维高斯分布
参数分别为均值,协方差矩阵(非负定对称矩阵),样本数
"""
s = np.random.multivariate_normal([0, 0], [[2, 1],[1, 3]], 50)
t = np.random.multivariate_normal([3, -1], [[1, 0], [0, 2]], 50)

c: 颜色

marker: 标记样式

label: 类别

plt.scatter(t[:, 0], t[:, 1], c='purple', marker='s', label='positive')
plt.scatter(s[:, 0], s[:, 1], c='green', marker='o', label='negative')
plt.legend()
plt.title("正负例图")
Text(0.5, 1.0, '正负例图')
../_images/ad80a4e0631954fd0786365c5d917c9b370ebdfe567a71914398f3993e6bc0ad.png

大小,颜色各异的散点图#

cmap: 将数字映射为颜色,这样c可以用数字赋值, colorbar显示了这种映射

s: 散点的大小

alpha: 透明度

N = 100
x = np.random.rand(N)
y = np.random.rand(N)
area = 300 * np.random.rand(N)
colors = np.random.rand(N)

plt.scatter(x, y, c=colors, s=area, alpha=0.3, cmap='viridis')
# 显示colorbar
plt.colorbar()
<matplotlib.colorbar.Colorbar at 0x7fd975969ca0>
../_images/3731d15713b5625b09df6e9a73acae598e1702517602168b3683ae0a7811193f.png