Python模块-matplotlib之绘制散点图
要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点:
"""使用scatter()绘制散点图""" import matplotlib.pyplot as plt plt.scatter(2, 4) plt.show()
下面来设置输出的样式:添加标题,给轴加上标签,并确保所有文本都大到能够看清。并使用scatter()绘制一系列点
"""使用scatter()绘制散点图""" import matplotlib.pyplot as plt x_values = range(1, 6) y_values = [x*x for x in x_values] ''' scatter() x:横坐标 y:纵坐标 s:点的尺寸 ''' plt.scatter(x_values, y_values, s=50) # 设置图表标题并给坐标轴加上标签 plt.title('Square Numbers', fontsize=24) plt.xlabel('Value', fontsize=14) plt.ylabel('Square of Value', fontsize=14) # 设置刻度标记的大小 plt.tick_params(axis='both', which='major', labelsize=14) plt.show()
手工计算列表要包含的值可能效率低下,需要绘制的点很多时尤其如此。可以不必手工计算包含点坐标的列表,而让Python循环来完成这种计算。
下面是绘制1000个点的代码:
"""使用scatter()绘制散点图""" import matplotlib.pyplot as plt x_values = range(1, 1001) y_values = [x*x for x in x_values] ''' scatter() x:横坐标 y:纵坐标 s:点的尺寸 ''' plt.scatter(x_values, y_values, s=10) # 设置图表标题并给坐标轴加上标签 plt.title('Square Numbers', fontsize=24) plt.xlabel('Value', fontsize=14) plt.ylabel('Square of Value', fontsize=14) # 设置刻度标记的大小 plt.tick_params(axis='both', which='major', labelsize=14) # 设置每个坐标轴的取值范围 plt.axis([0, 1100, 0, 1100000]) plt.show()
函数axis()要求提供四个值:x、y坐标轴的最小值和最大值。[xmin, xmax, ymin, ymax]
使用颜色映射:颜色映射是一系列颜色,它们从起始颜色渐变到结束颜色。在可视化中,颜色映射用于突出数据的规律,例如,你可能用较浅的颜色来显示较小的值,并使用较深的颜色来显示较大的值。
"""使用scatter()绘制散点图""" import matplotlib.pyplot as plt x_values = range(1, 1001) y_values = [x*x for x in x_values] ''' scatter() x:横坐标 y:纵坐标 s:点的尺寸 ''' plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, edgecolors='none', s=10) # 设置图表标题并给坐标轴加上标签 plt.title('Square Numbers', fontsize=24) plt.xlabel('Value', fontsize=14) plt.ylabel('Square of Value', fontsize=14) # 设置刻度标记的大小 plt.tick_params(axis='both', which='major', labelsize=14) # 设置每个坐标轴的取值范围 plt.axis([0, 1100, 0, 1100000]) plt.show()
将参数c设置成了一个y值列表,并使用参数cmap告诉pyplot使用哪个颜色映射。这些代码将y值较小的点显示为浅蓝色,并将y值较大的点显示为深蓝色。