python学习之matplotlib绘制散点图实例

时间:2021-05-22

要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点:

"""使用scatter()绘制散点图"""import matplotlib.pyplot as pltplt.scatter(2, 4)plt.show()

下面来设置输出的样式:添加标题,给轴加上标签,并确保所有文本都大到能够看清。并使用scatter()绘制一系列点

"""使用scatter()绘制散点图"""import matplotlib.pyplot as pltx_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 pltx_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 pltx_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值较大的点显示为深蓝色。

总结

以上就是本文关于python学习之matplotlib绘制散点图实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章