使用scatter( )绘制散点图并设置其样式
有时候,需要绘制散点图并设置各个数据点的样式。例如,你可能想以一种颜色显示较小的值,而用另一种颜色显示较大的值。绘制大型数据集时,你还可以对每个点都设置同样的样式。再使用不同的样式选项重新绘制某些点以突出它们。
要绘制单个点,可以使用函数scatter( ),并向它传递一对x和y坐标,它将在指定位置绘制一个点。
下面我们来设置输出的样式,使其更有趣:添加标题,给轴加上标签,并确保所有文本都大到能够看清:
在这里,我们调用了scatter( )函数,并使用实参s设置了绘制图形时使用的点的尺寸。如果此时运行了我们这个程序,就将看到如上所示的图表中间的一个点。
使用scatter( )绘制一系列点
要绘制一系列点,可以向scatter( )函数传递两个分别包含x值和y值的列表,如下所示:
列表x_values包含要计算其平方值的数字,而列表y_values包含前面说的每个数字的平方值。将这些俩表传递给scatter( )时,matplotlib依次从每个列表中读取一个值来绘制一个点。要绘制的点的坐标分别(1,1)、(2,4)、(3,9)、(4,16)和(5,25),最终的结果如上所示。
自动计算数据
手工计算列表要包含的值可能计算效率较低,需要绘制的点很多时尤其如此。可以不用手工计算包含点坐标的列表,而让Python循环来替我们完成这种计算。下面是绘制一千个点的代码:
我们首先创建了一个包含x值的列表,其中包含数字1~1000。接下来是生成y值的解析列表,它遍历x的值,计算其平方值(x**2),并将结果存储到列表y_values中。然后,将输入列表和输出列表传递给scatter( )函数。
由于这个数据集比较大,因此,我们将点设置的比较小,并使用axis( )函数制定了每个坐标轴的取值范围。函数axis( )要求提供四个值,x和y坐标的最大值和最小值。在这里,我们将x坐标轴的范围设置为0-1100,y坐标轴的取值范围设置为0-1100000。结果如上所示。