使用如下简单的入门程序来展示这套教程从 2013 年到2019 年的销售数据。
- import matplotlib.pyplot as plt
- # 定义2个列表分别作为X轴、Y轴数据
- x_data = ['2013', '2014', '2015', '2016', '2017', '2018', '2019'
- y_data = [58000, 60200, 63000, 71000, 84000, 90500, 107000
- # 第一个列表代表横坐标的值,第二个代表纵坐标的值
- plt.plot(x_data, y_data)
- # 调用show()函数显示图形
- plt.show()
上面程序中,第 7 行代码调用 plot() 函数根据 X 轴、Y 轴数据来生成折线图,第 9 行代码则调用 show() 函数将折线图显示出来。
运行上面程序,可以看到生成如图 1 所示的简单折线图。
图 1 简单折线图
如果在调用 plot() 函数时只传入一个 list 列表,该list列表表的数据将作为 Y 轴数据,那么 Matplotlib 会自动使用 0、1、2、3 作为 X 轴数据。例如,将上面程序中的第 7 行代码改为如下形式:plt.plot(y_data) 再次运行该程序,将看到如图 2 所示的结果。
图 2 使用默认的X 轴数据
plot() 函数除了支持创建具有单条折线的折线图,也支持创建包含多条折线的复式折线图,只要在调用 plot() 函数时传入多个分别代表 X 轴和 Y 轴数据的 list 列表即可。例如如下程序:- import matplotlib.pyplot as plt
- x_data = ['2013', '2014', '2015', '2016', '2017', '2018', '2019'
- # 定义2个列表分别作为两条折线的Y轴数据
- y_data = [58000, 60200, 63000, 71000, 84000, 90500, 107000
- 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 所示。
图 3 包含多条折线的复式折线图
也可以通过多次调用 plot() 函数来生成多条折线。例如,将上面程序中第 8 行代码改为如下两行代码,程序同样会生成包含两条折线的复式折线图:plt.plot(x_data, y_data)
plt.plot(x_data, y_data2) 在调用 plot() 函数时还可以传入额外的参数来指定折线的样子,如线宽、颜色、样式等。例如如下程序:
- import matplotlib.pyplot as plt
- x_data = ['2011', '2012', '2013', '2014', '2015', '2016', '2017'
- # 定义2个列表分别作为两条折线的Y轴数据
- y_data = [58000, 60200, 63000, 71000, 84000, 90500, 107000
- 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()
上面第 8、9 两行代码分别绘制了两条折线,并通过 color 指定折线的颜色,linewidth 指定线宽,linestyle 指定折线样式。
在使用 linestyle 指定折线样式时,该参数支持如下字符串参数值:- -:代表实线,这是默认值。
- --:代表虚线。
- ·:代表点钱。
- -.:代表短线、点相间的虚钱。
运行上面程序,可以看到如图 4 所示的折线图。
图 4 设置了折线的折线图
|