- 散点图是我喜欢用的一类数据可视化图表,在这里记录一下一些常用的技巧
- 以下
plt
代表matplotlib.pyplot
,p3d
代表mpl_toolkits.mplot3d
,如果对mpl_toolkits.mplot3d
不熟悉可以稍微看一下我的另一篇文章mpl_toolkits.mplot3d工具包。
基础
二维散点图的函数原型:
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
对应颜色指示值,也就是如果采用了渐变色的话,我们设置c=x
就能使得点的颜色根据点的x
值变化
-
cmap
调整渐变色或者颜色列表的种类,关于颜色的运用其实也挺有趣的,有兴趣可以看一下我的另一篇文章《自定义颜色及渐变颜色》
-
marker
控制点的形状
-
alpha
控制点的透明度,我喜欢在数据量大的时候设置较小的alpha
值,然后调整一下s
值,这样产生重叠效果使得数据的聚集特征会很好地显示出来:看一下效果
第一个是不设透明度的
现在是设置透明度的
再调整一下点的大小
- 这个例子就体现的比较明显,这种情况下,相同的数据在第一个图中看不出有两个聚集点,而后面两个图一个比一个明显
- 其他的参数目前不怎么用,等用到了的时候再更新吧
三维散点图的函数原型
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
zs
取一个标量
zs
取一个数组