📜  NumPy-Matplotlib

📅  最后修改于: 2020-11-08 07:42:40             🧑  作者: Mango


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()函数创建一个ndarray对象x作为x轴上的值。 y轴上的相应值存储在另一个ndarray对象y中。这些值是使用matplotlib软件包的pyplot子模块的plot()函数绘制的。

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

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

Matplotlib演示

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

Sr.No. Character & Description
1

‘-‘

Solid line style

2

‘–‘

Dashed line style

3

‘-.’

Dash-dot line style

4

‘:’

Dotted line style

5

‘.’

Point marker

6

‘,’

Pixel marker

7

‘o’

Circle marker

8

‘v’

Triangle_down marker

9

‘^’

Triangle_up marker

10

‘<‘

Triangle_left marker

11

‘>’

Triangle_right marker

12

‘1’

Tri_down marker

13

‘2’

Tri_up marker

14

‘3’

Tri_left marker

15

‘4’

Tri_right marker

16

‘s’

Square marker

17

‘p’

Pentagon marker

18

‘*’

Star marker

19

‘h’

Hexagon1 marker

20

‘H’

Hexagon2 marker

21

‘+’

Plus marker

22

‘x’

X marker

23

‘D’

Diamond marker

24

‘d’

Thin_diamond marker

25

‘|’

Vline marker

26

‘_’

Hline marker

还定义了以下颜色缩写。

Character Color
‘b’ Blue
‘g’ Green
‘r’ Red
‘c’ Cyan
‘m’ Magenta
‘y’ Yellow
‘k’ Black
‘w’ White

要显示代表点的圆,而不是上面的示例中的线,请使用“ 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() 

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

颜色缩写

正弦波图

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

import numpy as np 
import matplotlib.pyplot as plt  

# Compute the x and y coordinates for points on a sine curve 
x = np.arange(0, 3 * np.pi, 0.1) 
y = np.sin(x) 
plt.title("sine wave form") 

# Plot the points using matplotlib 
plt.plot(x, y) 
plt.show() 

正弦波

subplot()

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

import numpy as np 
import matplotlib.pyplot as plt  
   
# Compute the x and y coordinates for points on sine and cosine curves 
x = np.arange(0, 3 * np.pi, 0.1) 
y_sin = np.sin(x) 
y_cos = np.cos(x)  
   
# Set up a subplot grid that has height 2 and width 1, 
# and set the first such subplot as active. 
plt.subplot(2, 1, 1)
   
# Make the first plot 
plt.plot(x, y_sin) 
plt.title('Sine')  
   
# Set the second subplot as active, and make the second plot. 
plt.subplot(2, 1, 2) 
plt.plot(x, y_cos) 
plt.title('Cosine')  
   
# Show the figure. 
plt.show()

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

子图

酒吧()

pyplot子模块提供bar()函数来生成条形图。以下示例生成两组xy数组的条形图。

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()

此代码应产生以下输出-

条状图