当前位置:首页 >> 脚本专栏

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

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

"""使用scatter()绘制散点图"""
import matplotlib.pyplot as plt

plt.scatter(2, 4)
plt.show()

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

下面来设置输出的样式:添加标题,给轴加上标签,并确保所有文本都大到能够看清。并使用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学习之matplotlib绘制散点图实例

手工计算列表要包含的值可能效率低下,需要绘制的点很多时尤其如此。可以不必手工计算包含点坐标的列表,而让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()

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

函数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值较大的点显示为深蓝色。

总结

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