散点图

绘制散点图使用函数matplotlib.pyplot.scatter

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs)[source]

参数x,y是数组形式,表示数据位置

参数c表示颜色,可选颜色值参考格式化绘图样式

  • b:蓝色
  • g:绿色
  • r:红色
  • c:青色
  • m:紫红
  • y:黄色
  • k:黑色
  • w:白色

参数marker表示图标形状,可选值参考MarkerStyle

filled_markers = ('o', 'v', '^', '<', '>', '8', 's', 'p', '*', 'h', 'H', 'D', 'd', 'P', 'X')

参数s表示点大小,默认为rcParams['lines.markersize'] ** 2

>>> import matplotlib.pyplot as plt
>>> plt.rcParams['lines.markersize']
6.0

示例

简单的散点图

# -*- coding: utf-8 -*-

import matplotlib.pyplot as plt
import numpy as np

if __name__ == '__main__':
    fig = plt.figure()

    x = np.random.rand(10)
    y = np.random.rand(10)

    plt.scatter(x, y)

    plt.show()

使用颜色和maker标记多条散点图

import matplotlib.pyplot as plt
import numpy as np

if __name__ == '__main__':
    fig = plt.figure()

    x = np.random.rand(10)
    y = np.random.rand(10)

    plt.scatter(x, y, c='r', marker='<')
    plt.scatter(x, y ** 2, c='g', marker='8')
    plt.scatter(x ** 2, y, c='y', marker='*')

    plt.show()