matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。
它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下。
一、快速绘图
matplotlib的pyplot子库提供了和matlab类似的绘图API,方便用户快速绘制2D图表。
快速绘图实例:
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt #载入快速绘图的函数库
"""
matplotlib还提供了名为pylab的模块,其中包括了许多numpy和pyplot中常用的函数,方便用
户快速进行计算和绘图,可以用于IPython中的快速交互式使用。
"""
x = np.linspace(0, 10, 1000)
y = np.sin(x) #产生sin函数
z = np.cos(x**2) #产生cos函数
plt.figure(figsize=(8,4)) #通过figsize参数可以指定绘图对象的宽度和高度
"""
调用figure创建一个绘图对象,并且使它成为当前的绘图对象
"""
plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2) #"label"引入latex数学公式,"color"设置线条颜色,"linewidth"设置线条宽度
plt.plot(x,z,"b--",label="$cos(x^2)$")
plt.xlabel("Time(s)") #设置X轴标题
plt.ylabel("Volt") #设置Y轴标题
plt.title("PyPlot First Example") #设置图表的标题
plt.ylim(-1.2,1.2) #设置Y轴的范围
plt.legend() #显示图示
plt.show() #调用plt.show()显示出我们创建的所有绘图对象
绘图效果:
1. 配置属性
- set_*方法:
matplotlib所绘制的图的每个组成部分都对应有一个对象,我们可以通过调用这些对象的属性设置方法 set_*或者pyplot的属性设置函数 setp设置其属性值。
set_*方法设置Line2D对象属性实例:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 5