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

Matplotlib plot()函数:绘制折线图(附带实例)

Matplotlib 的用法非常简单,对于最简单的折线图来说,程序只需根据需要给出对应的 X 轴、Y 轴数据。调用 pyplot 子模块下的 plot() 函数即可生成简单的折线图。

【实例】分析某教程从 2012 年到 2018 年的销售数据,此时可考虑将年份作为 X 轴数据,将教程各年份的销量作为 Y 轴数据。程序只要将 2012—2018 年定义成 list 列表作为 X 轴数据,并将对应年份的销量作为 Y 轴数据即可。使用如下简单程序来展示从 2012 年到 2018 年某教程的销售数据。
import matplotlib.pyplot as plt
# 定义 2 个列表分别作为 x 轴,Y 轴数据
x_data = ['2012', '2013', '2014', '2015', '2016', '2018']
y_data = [60200, 63000, 71000, 84000, 90500, 107000, 98300]
# 第一个列表代表横坐标的值,第二个代表纵坐标的值
plt.plot(x_data, y_data)
# 调用 show() 函数显示图形
plt.show()
运行程序,效果如下图所示:


图 1 简单折线图

如果在调用 plot() 函数时只传入一个 list 列表,该 list 列表的数据将作为 Y 轴数据,那么 Matplotlib 会自动使用 0、1、2、3 作为 X 轴数据。

例如,修改以下代码:
plt.plot(y_data)
运行程序,效果如下图所示:


图 2 使用默认的 X 轴数据

import matplotlib.pyplot as plt
x_data = ['2012', '2013', '2014', '2015', '2016', '2018']
# 定义 2 个列表分别作为两条折线的 Y 轴数据
y_data = [60200, 63000, 71000, 84000, 90500, 107000, 98300]
y_data2 = [52000, 54200, 51500, 58300, 56800, 59500, 62700]
# 传入 2 组数据分别代表 X 轴,Y 轴的数据
plt.plot(x_data, y_data, x_data, y_data2)
# 调用 show() 函数显示图形
plt.show()
在以上代码中,调用 plot() 函数时,传入了两组分别代表 X 轴数据、Y 轴数据的 list 列表,因此该程序可以显示两条折线,效果如下图所示:


图 3 包含多条折线的复式折线图

也可以通过多次调用 plot() 函数来生成多条折线。例如,将上面程序中的 plt.plot(x_data, y_data, x_data, y_data2) 代码改为如下两行代码,程序同样会生成包含两条折线的复式折线图:
plt.plot(x_data, y_data)
plt.plot(x_data, y_data2)

在调用 plot() 函数时还可以传入额外的参数来指定折线的样式,如线宽、颜色、样式等。例如:
import matplotlib.pyplot as plt
x_data = ['2012', '2012', '2013', '2014', '2015', '2016', '2018']
# 定义 2 个列表分别作为两条折线的 Y 轴数据
y_data = [ 60200, 63000, 71000, 84000, 90500, 107000, 98300]
y_data2 = [52000, 54200, 51500, 58300, 56800, 59500, 62700]
# 指定折线的颜色,线宽和样式
plt.plot(x_data, y_data, color = 'red', linewidth = 2.0, linestyle = '- .')
plt.plot(x_data, y_data2, color = 'blue', linewidth = 3.0, linestyle = '--')
# 调用 show() 函数显示图形
plt.show()
代码中,用 color 指定折线的颜色,linewidth 指定线宽,linestyle 指定折线样式。

在使用 linestyle 指定折线样式时,该参数支持如下字符串参数值:
运行以上程序,效果如下图所示:


图 4 设置了折线图的线型

相关文章