Matplotlib plot()函数:绘制折线图(附带实例)
Matplotlib 的用法非常简单,对于最简单的折线图来说,程序只需根据需要给出对应的 X 轴、Y 轴数据。调用 pyplot 子模块下的 plot() 函数即可生成简单的折线图。
【实例】分析某教程从 2012 年到 2018 年的销售数据,此时可考虑将年份作为 X 轴数据,将教程各年份的销量作为 Y 轴数据。程序只要将 2012—2018 年定义成 list 列表作为 X 轴数据,并将对应年份的销量作为 Y 轴数据即可。使用如下简单程序来展示从 2012 年到 2018 年某教程的销售数据。

图 1 简单折线图
如果在调用 plot() 函数时只传入一个 list 列表,该 list 列表的数据将作为 Y 轴数据,那么 Matplotlib 会自动使用 0、1、2、3 作为 X 轴数据。
例如,修改以下代码:

图 2 使用默认的 X 轴数据

图 3 包含多条折线的复式折线图
也可以通过多次调用 plot() 函数来生成多条折线。例如,将上面程序中的 plt.plot(x_data, y_data, x_data, y_data2) 代码改为如下两行代码,程序同样会生成包含两条折线的复式折线图:
在调用 plot() 函数时还可以传入额外的参数来指定折线的样式,如线宽、颜色、样式等。例如:
在使用 linestyle 指定折线样式时,该参数支持如下字符串参数值:
运行以上程序,效果如下图所示:

图 4 设置了折线图的线型
【实例】分析某教程从 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 设置了折线图的线型