【Python】Matplotlib库入门

Matplotlib库是数据可视化最常使用的库,它是受matlab启发而开发。matpliotlib.pyplot是绘制可视化图形的子库,相当于快捷方式。我们可以直接

import matplotlib.pyplot as plt

引入此模块。
我们先来尝试一下这个库

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
plt.plot([1,2,3,4,5,5,4])

绘制出来的结果
【Python】Matplotlib库入门
可以看到列表的的数字变成了纵坐标。
在来一个双列表的

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
plt.plot([-1,1,3,5,7],[4,8,6,9,4])

【Python】Matplotlib库入门
这种写法中,第一个列表会形成横坐标,第二个列表会形成对应的纵坐标。

同时做多个表格subplot

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
def f(t):#作图函数
    return np.exp(-t)*np.cos(2*np.pi*t)
a=np.arange(0.0,5.0,0.02)
plt.subplot(2,1,1)
plt.plot(a,f(a))

plt.subplot(2,1,2)
plt.plot(a,f(a)-0.1)
plt.show()

执行结果:
【Python】Matplotlib库入门
subplot函数可以接受三个参数,前两个参数代表把整个画面分成几行几列的区域,我们分成了两行一列,第三个参数代表当前作图在第几个区域,所以第一次是1,第二次是2。就得到 了我们的结果。

plot函数详解

plt.plot(x,y,format_string,**kwargs)
plot函数可以接受四个参数:

  • 前两个分别代表x和y轴数据,可以是列表类型或者数组类型。
  • 第三个参数是画图的曲线的格式,接受字符串类型,可选。比如‘b’代表蓝色,‘g’代表红色。’-'绘制实线,’–'绘制破折线,’:'绘制曲线。除此之外还有很多,具体可以查看python文档看你的需求决定用什么。
  • 最后一个参数可以接受一个完整的plot函数参数,让你能够在一张图中画多条曲线。比如

plt.plot(a,a1.5,a,a2.5,a,a3.5,a,a4.5)#a和数字间有乘号在markdown被屏蔽了
【Python】Matplotlib库入门

pyplot的中文显示

pyplot并不默认支持中文,需要修改字体来显示。

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family']='SimHei'
plt.plot([5,6,2,4])
plt.ylabel("纵坐标")

【Python】Matplotlib库入门
现在纵坐标就可以用中文表示了。
rcParams的属性

属性 说明
‘font.family’ 说明字体的名字
‘font.style’ 字体风格,比如’italic‘斜体
‘font.size’ 字体大小,比如用字号表示

以上这种方法会改变全局字体,还有一种更好的方法,就是在有中文输出地方加一个属性:fontproperties
比如plt.xlabel(’横轴:时间‘,fontproperties=’SimHei‘,fronsize=20)

当然matplotlib还可以绘制很多其他图标,甚至你知道的图表都可以绘制,太多了很难记住所有函数,所以我建议其他类型图表在你实践需要的时候,查阅matplotlib官网查看相关文档。