发布时间:2019-04-21编辑:佚名阅读(4924)
函数原型:
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, hold=None, data=None,**kwargs)
参数作用如下:
x, y位置。
s大小。
c颜色,可能的情况如下:
单一颜色
颜色序列
使用cmap映射到颜色的序列数
一个行为RGB的2-D数组
marker形状。
cmap调整渐变色或者颜色列表的种类,Matplotlib内置颜色组及渐变颜色和内置命名颜色。
norm:数据亮度,默认为no,范围为0-1,float数据。
vmin,vmax:亮度设置,默认为no,若norm实例已使用,该参数无效。
alpha透明度,范围为0-1。
linewidths:描边的宽度。
edgecolors:描边颜色。
基本的使用方法:
# 导入必要的模块 import numpy as np import matplotlib.pyplot as plt # 产生测试数据 x = np.arange(1, 10) y = x fig = plt.figure() ax1 = fig.add_subplot(111) # 设置标题 ax1.set_title('Scatter Plot') # 设置X轴标签 plt.xlabel('X') # 设置Y轴标签 plt.ylabel('Y') # 画散点图 ax1.scatter(x, y, c='r', marker='o') # 设置图标 plt.legend('x1') # 显示所画的图 plt.show()
结果如下:
更多实例:
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") plt.show()
三维散点图的函数原型
p3d.Axes3D.scatter( xs, ys, zs=0, zdir=’z’, s=20, c=None, depthshade=True, *args, **kwargs ) p3d.Axes3D.scatter3D( xs, ys, zs=0, zdir=’z’, s=20, c=None, depthshade=True,*args, **kwargs)
三维散点图在p3d.Axes3D中,有两个版本,但效果都一样,这里就挑上面那个版本,下面解释参数:
xs, ys代表点的x, y轴坐标
zs代表z轴坐标,但有两种形式,第一种就是取一个标量,函数原型里默认就是一个标量0,也就是默认所有的点都画在一个z=0的水平平面上;第二种就是取和xs、ys同样shape的数组,从而指定每个点的实际z轴坐标,如下:
zs默认为0
import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.mplot3d as p3d fig = plt.figure() ax = p3d.Axes3D(fig) x = np.random.randn(1000) y = np.random.randn(1000) ax.scatter(x, y, c='b', s=10, alpha=0.5) ax.scatter(x + 4, y, c='b', s=10, alpha=0.5) plt.show()
import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.mplot3d as p3d fig = plt.figure() ax = p3d.Axes3D(fig) z = 6 * np.random.randn(5000) x = np.sin(z) y = np.cos(z) ax.scatter(x, y, z, c='b', s=10, alpha=0.5) plt.show()
1人
0人
0人
0人