1、背景
在数据分析的过程种,通过将大量数据可视化,会很直观的发现数据的很多特征。不仅有助于在数据清洗过程种发现数据存在的问题,还有助于在应用某些数据分析后查看效果。
Matplotlib是python强大的数据可视化工具(以下简称plt) ,能够创建多数类型的图表,如条形图,散点图,条形图,饼图,堆叠图,3D 图和地图图表。下面将借助散点图来介绍其基本构造,和使用的方法。希望在读本节内容,能够明白其各节点的意义。
2、介绍
(1)plt布局
通常你在看plt的demo的时候,最开始的程序就是:fig = plt.figure();ax1 = fig.add_subplot(111)。结合上面的图来理解这两句是什么意思。
对应程序来理解以下上图是什么含义。一个完整的plt图是一个大的Figure对象,在这个Figure下有多个Axes对象,你可理解为一个个的图表。Figure可理解为画布,Axes为矩阵状排列在画布,所以在程序种add_subplot指定的参数就是画布的大小与位置,不如111分别代表的含义就是1*1的图的第1个位置的对象赋给ax1变量。同理,如果是2*2的大小,选取左上角,程序就为:ax1 = fig.add_subplot(221)。再往下看,对于每一个单独的图表,其对应的变量含义为:
在定义完画布和图表后,需要定义图表的内容:
ax1.set_title('Scatter Plot'),ax1.set_xlabel("x"),ax1.set_ylabel("Y"),ax1.scatter(data,x,c ='r',marker ='o')
plt.legend('x1'),plt.show()
对应图上的内容,一个图表包括横坐标xlabel,纵坐标ylabel,标题title,数据部分data(图像部分),标尺Tick等内容。
所以综上所述,plt各个部分的关系可表述为:
补充:Figure部分的参数
(2)散点图
最终上面的代码运行完生成的图像为:
其它内容都已介绍,但有一行没有介绍就是:ax1.scatter(data,x,c ='r',marker ='o'),这一句就是完成图像内容的部分,形成这么多点的图像的程序。
以上是scatter对象的所有参数,各个参数的介绍如下:
X:横坐标;
Y:纵坐标,需跟X维度相同。
S:点的大小,默认为20。可为数组,指定不同点不同点大小。但维度需跟X、Y相同;
C:颜色,默认为蓝色。还有r红色,k黑色等。可为数组,指定不同点不同的颜色。但维度需跟X、Y相同;
marker:点的形状,可为“x”、“s”等多种形状,具体查看官方文档。
cmap:colormap,当C参数为浮点数时其作用。
norm:normalize,数据亮度0-1的浮点数据。
vmin、vmax:亮度设置,如norm已使用则该参数忽略;
alpha:混合值,介于0(透明)与1(不透明)之间;
verts:与S结合使用;
edgecolors:边缘颜色等。
那么使用这些参数重新调整后,图像可变成:
综上所述:通过配置散点图的各个参数,可更加直观的体现出数据的特点。另外,同个散点图还能添加多种散点序列,可使数据内容更加丰富。还能实现数据间的对比,发现规律。