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

 

posted @ 2017-08-03 17:25  chipsKe  阅读(10562)  评论(0编辑  收藏  举报