首页 > 编程笔记 > Python笔记 阅读:64

Matplotlib scatter()绘制散点图(附带实例)

散点图主要用来查看数据的分布情况或相关性,一般用在线性回归分析中,查看数据点在坐标系平面上的分布情况。

散点图表示因变量随自变量变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。

散点图与折线图类似,也是由一个个点构成的。但不同之处在于,散点图的各点之间不会按照前后关系用线条连接起来。

Matplotlib 绘制散点图使用 plot() 函数和 scatter() 函数都可以,本节使用 scatter() 函数绘制散点图,使用方式和 plot() 函数类似,区别在于前者具有更高的灵活性,可以单独控制每个散点的属性。

scatter() 函数语法格式如下:
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, data=None, **kwargs)
参数说明见下表:

参数 说明
x, y 数据。
s 标记大小,以平方磅为单位标记面积,设置值如下:
  • 数值标量:以相同的大小绘制所有标记。
  • 行或列向量:使每个标记具有不同的大小。x、y 和 sz 中的相应元素用于确定每个标记的位置和面积。sz 的长度必须等于 x 和 y 的长度。
  • []:使用 36 平方磅的默认面积。
c 标记颜色,可选参数,默认值为 'b',表示蓝色。
marker 标记样式,可选参数,默认值为 'o'。
cmap 颜色地图,可选参数,默认值为 None。
norm 可选参数,默认值为 None。
vmin, vmax 标量,可选参数,默认值为 None。
alpha 透明度,可选参数,可设置为 0 至 1 之间的数,默认值为 None。
linewidths 线宽,标记边缘的宽度,可选参数,默认值为 None。
verts (x,y)的序列,可选参数,如果参数 marker 为 None,这些顶点将用于构建标记,标记的中心位置为(0,0)。
edgecolors 轮廓颜色,和参数 c 类似,可选参数,默认值为 None。
data data 关键字参数,如果给定一个数据参数,所有位置和关键字参数将被替换。
**kwargs 关键字参数。

【实例 1】绘制简单散点图,程序代码如下:
# 导入matplotlib模块
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6]  # x轴数据
y = [19, 24, 37, 43, 55, 68]  # y轴数据
plt.scatter(x, y)  # 绘制散点图
plt.show()  # 显示图表
运行程序,结果如下图所示:


图 1 简单散点图

【实例 2】绘制销售收入与广告费散点图,用以观察两者的相关性,主要代码如下:
# x为广告费用,y为销售收入
x = pd.DataFrame(dfCar_month['支出'])
y = pd.DataFrame(dfData_month['金额'])
plt.title('销售收入与广告费散点图')  # 图表标题
plt.scatter(x, y, color='red')  # 真实值散点图
运行程序,结果如下图所示:


图 2 销售收入与广告费散点图

相关文章