散点图#
%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, '正负例图')
大小,颜色各异的散点图#
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>