Matplotlib是Python的绘图库,它与NumPy一起使用,提供了一个环境,是MatLab的有效开源替代方案,它可以与PyQt和wxPython等图形工具包一起使用

Matplotlib模块最初由John D. Hunter编写。自2012年以来,Michael Droettboom是主要开发人员。目前,Matplotlib版本。 1.5.1是可用的稳定版本。该软件包以二进制形式提供,也可以以源代码形式在www.matplotlib.org 

按照惯例,通过添加以下语句将包导入到Python脚本中-

from matplotlib import pyplot as plt

这里 pyplot()是matplotlib库中最重要的函数,用于绘制2D数据。以下脚本绘制了等式 y=2x + 5

import numpy as np 
from matplotlib import pyplot as plt 

x = np.arange(1,11) 
y = 2 * x + 5 
plt.title("Matplotlib demo") 
plt.xlabel("x axis caption") 
plt.ylabel("y axis caption") 
plt.plot(x,y) 
plt.show()

通过 np.arange()函数作为 x轴上的值创建ndarray对象x。 y轴上的相应值存储在另一个 ndarray对象y 中。这些值是使用matplotlib软件包的pyplot子模块的 plot()函数绘制的。

图形表示由 show()函数显示。

Matplotlib Demo

  

通过向 plot()函数添加格式字符串,可以离散地显示值,而不是线性图。可以使用以下格式字符。

Sr.No. Character & 描述
1

'-'

实线样式

2

'-'

虚线样式

3

'-.'

点划线样式

4

':'

虚线样式

5

'.'

点标签

6

','

像素标签

7

'o'

圆形标签

8

'v'

Triangle_down标签

9

'^'

Triangle_up标签

10

'<'

Triangle_left标签

11

'>'

Triangle_right标签

12

'1'

Tri_down标签

13

'2'

Tri_up标签

14

'3'

Tri_left标签

15

'4'

Tri_right标签

16

's'

方形标签

17

'p'

五角大楼标签

18

'*'

星标

19

'h'

Hexagon1标签

20

'H'

Hexagon2标签

21

'+'

加号标签

22

'x'

X标签

23

'D'

钻石笔

24

'd'

细钻石标签

25

'|'

Vline标签

26

'_'

划线器

还定义了以下颜色缩写。

字符 颜色
'b' 蓝色
'g' 绿色
'r' 红色
'c' 青色
'm' 洋红色
'y' 黄色
'k' 黑色
'w' 白色

要显示代表点的圆,而不是上面的示例中的线,请使用" ob" 作为plot()函数中的格式字符串。

import numpy as np 
from matplotlib import pyplot as plt 

x = np.arange(1,11) 
y = 2 * x + 5 
plt.title("Matplotlib demo") 
plt.xlabel("x axis caption") 
plt.ylabel("y axis caption") 
plt.plot(x,y,"ob") 
plt.show() 

上面的代码应产生以下输出-

Color Abbreviation

正弦波图

以下脚本使用matplotlib生成正弦波图。

import numpy as np 
import matplotlib.pyplot as plt  

# 计算正弦曲线上点的 x 和 y 坐标
x = np.arange(0, 3 * np.pi, 0.1) 
y = np.sin(x) 
plt.title("sine wave form") 

# 使用 matplotlib 绘制点
plt.plot(x, y) 
plt.show() 
Sine Wave

subplot()

subplot()函数允许您在同一图中绘制不同的事物。在以下脚本中,绘制了正弦和余弦值。

import numpy as np 
import matplotlib.pyplot as plt  
   
# 计算正弦和余弦曲线上点的 x 和 y 坐标
x = np.arange(0, 3 * np.pi, 0.1) 
y_sin = np.sin(x) 
y_cos = np.cos(x)  
   
# 设置一个高度为 2 和宽度为 1 的子图网格,
#并将第一个这样的子图设置为活动。
plt.subplot(2, 1, 1)
   
# 制作第一个子图
plt.plot(x, y_sin) 
plt.title('Sine')  
   
# 将第二个子图设置为活动,并制作第二个图。
plt.subplot(2, 1, 2) 
plt.plot(x, y_cos) 
plt.title('Cosine')  
   
# 显示图。
plt.show()

上面的代码应产生以下输出-

Sub Plot

bar()

pyplot子模块提供了 bar()函数来生成条形图。下面的示例生成两组 x 和 y 数组的条形图。

from matplotlib import pyplot as plt 
x = [5,8,10] 
y = [12,16,6]  

x2 = [6,9,11] 
y2 = [6,15,7] 
plt.bar(x, y, align = 'center') 
plt.bar(x2, y2, color = 'g', align = 'center') 
plt.title('Bar graph') 
plt.ylabel('Y axis') 
plt.xlabel('X axis')  

plt.show()

此代码应产生以下输出-

Bar Graph

参考链接

https://www.learnfk.com/numpy/numpy-matplotlib.html