首页 > Matplotlib 阅读数:43

Matplotlib绘制折线图

折线图(Line Chart)是一种将数据点按照顺序连接起来的图形,可以看作是将散点图按照 x 轴坐标顺序连接起来的图形。折线图的主要功能是查看因变量 y 随着自变量 x 改变的趋势,最适合于显示随时间(根据常用比例设置)而变化的连续数据。同时还可以看出数量的差异和增长趋势的变化。

pyplot 中绘制折线图的函数为 plot,其语法格式如下:

matplotlib.pyplot.plot(*args,**kwargs)

plot 函数在官方文档的语法中只要求输入不定长参数,实际可以输入的参数说明如下:
  • x,y:接收 array。表示 x 轴和 y 轴对应的数据,无默认;
  • color:接收特定 string。指定线条的颜色,默认为 None;
  • linestyle:接收特定 string。指定线条的类型,默认为“-”;
  • marker:接收特定 string。表示绘制的点的类型,默认为 None;
  • alpha:接收 0~1 的小数。表示点的透明度,默认为 None。

其中,color 参数的 8 种常用颜色的缩写见表 1。
表 1:color 参数常用颜色的缩写
颜色缩写 代表的颜色 颜色缩写 代表的颜色
b 蓝色 m 品红
g 绿色 y 黄色
r 红色 k 黑色
c 青色 w 白色


【例 1】使用不同线条样式,绘制 2007—2016 年的全国就业人员、城镇就业人员和乡村就业人员的折线图。其中,全国就业人员(万人)用实线“-”表示,城镇就业人员(万人)用长虚线“--”表示,乡村就业人员(万人)用点线“-·”表示。

其程序代码 test1.py 如下。
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
#导入数据
Emp_data= np.loadtxt('d:\data\Employedpopulation.csv',delimiter = ",",
                      usecols=(1,2,3,4,5,6,7,8,9,10),dtype=int)

# 设置matplotlib正常显示中文和负号
plt.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
plt.rcParams['axes.unicode_minus']=False     # 正常显示负号

#创建一个绘图对象, 并设置对象的宽度和高度
plt.figure(figsize=(6, 4))
#绘制全部就业人员折线图
plt.plot(Emp_data[0],Emp_data[1])
#绘制城镇就业人员折线图
plt.plot(Emp_data[0],Emp_data[2])
#绘制乡村就业人员折线图
plt.plot(Emp_data[0],Emp_data[3])
plt.xlabel('年份')
plt.ylabel('人员(万人)')
plt.ylim((30000,80000))
plt.xlim(2006,2017)
plt.title("2007-2016年城镇、乡村和全部就业人员情况折线图")
 plt.title("2007-2016年城镇、乡村和全部就业人员情况折线图")
#添加图例
plt.legend({'全部就业','城镇就业','乡村就业'})
plt.savefig('d:/data/Employedpopulation_line.png')
plt.show()

运行程序后,保存并显示折线图,如图 1 所示。

2007—2016年就业人员情况折线图
图 1:2007—2016 年就业人员情况折线图