Python Matplotlib绘制入门基础教程

katnisswuyuechen 2019-03-21

Matplotlib的使用

现在有很多Python科学计算的书籍,我在参加数学建模比赛的时候也见到过很多同学使用Python绘图,感觉跟Matlab差不多,但是Matlab是真的大啊~首先看看如何画出第一个图形:

首先导入依赖的类库:

import numpy as np 
import matplotlib.pyplot as plt

np plt这两个名感觉都成了规范了,大家都这么写。

接下来以绘制 sin()  函数为例:

x = np.linspace(0, 2*np.pi,100)
y1 = np.sin(x)

plt.figure()
plt.plot(x, y1)
plt.show()

完整代码:

#coding:utf-8 
import matplotlib 
from matplotlib.font_manager import *
import matplotlib.pyplot as plt
import numpy as np

myfont = FontProperties(fname='/home/linuxidc/.local/share/fonts/文泉驿正黑.ttf') 
matplotlib.rcParams['axes.unicode_minus']=False 
x = np.linspace(0, 2*np.pi,100)
y1 = np.sin(x)

plt.figure()
plt.plot(x, y1)

Python Matplotlib绘制入门基础教程

如果有Matlab的基础会非常好理解,首先指定x的范围以及点之间的间距,C指定了函数f(x),plt.figure()是绘制的开始,plot最基础的用法,第一个参数是x,第二个参数是f(x),最后是show()方法显示图形,那么如何在一张图表中显示两个或者多个函数图形?

x = np.linspace(0, 2*np.pi,100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.figure()
plt.plot(x, y1)
plt.plot(x, y2)
plt.show()

只要稍作修改就可以了,这时候的图形是这样的:

Python Matplotlib绘制入门基础教程

除了这种情况之外,我们有的时候还会需要在不同的图表中绘制函数图形,那么代码再改动一下:

x = np.linspace(0, 2*np.pi,100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.figure()
plt.plot(x, y1)

plt.figure()
plt.plot(x, y2)

plt.show()

效果:

Python Matplotlib绘制入门基础教程

代码只是比上面的增加了一行plt.figure(),plt.figure()就像是绘制的开关,每个plt.figure()下面的内容会在一张图表中显示,最后由plt.show()统一显示出来。
基础的绘制图形情况就这么多,其实plot函数功能强大得多,参数不只是自变量和因变量,如果再一张图表中显示多条函数图形,我们需要对不同的曲线加以区分,例如:
x = np.linspace(0, 2*np.pi,100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.figure()
plt.plot(x, y1)
plt.plot(x, y2, color='red', linestyle='--')

plt.show()

效果:

Python Matplotlib绘制入门基础教程

再plot函数里添加控制的参数,例如color指定曲线的颜色,linestyle指定曲线的样式等等。

相关推荐