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)
scatter是一个很可爱的绘图函数,可以画出随机分布的散点图。
首先对其中的各个变量进行介绍。
- x,y:表示数据的位置
- s:表示图形的大小
- c:表示颜色或颜色序列,可能的情况如下:
- 单一颜色
- 颜色序列
- 使用cmap映射到颜色的序列数
- 一个行为RGB的2-D数组
- marker:绘出的图形的形状,具有多种风格
详情可以参考:https://matplotlib.org/devdocs/api/markers_api.html#module-matplotlib.markers
- cmap:默认为no
- norm:描述数据亮度,默认为no
- vmin,vmax:亮度设置,默认为no
- alpha:范围为0-1
- linewidths:描边的宽度
- edgecolors:描边颜色
接下来我们使用该函数绘制散点图。
在绘制散点图时,图像的位置、大小、颜色都随机。
在这里用到随机数函数:
numpy.random.rand() 生成[0, 1)间随机数
numpy.random.rand(d0, d1, …, dn)函数:
生成一个(d0d1 …* dn)维位于[0, 1)中随机样本
>>> from numpy import *
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> n=100
>>> x=np.random.rand(n)
>>> y=np.random.rand(n)
>>> s=(30*np.random.rand(n))**2
>>> color=np.random.rand(n)
>>> plt.scatter(x,y,s,c=color,alpha=0.5,marker=("v"))
<matplotlib.collections.PathCollection object at 0x114ad7f50>
>>> plt.show()
最终结果展示: