NumPy 与Matplotlib结合

NumPy 与Matplotlib结合

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() 函数 显示图形表示。

上述代码应该产生如下输出 −

NumPy 与Matplotlib结合

相对于线性图,可以通过在 plot() 函数中添加格式化字符串来离散显示数值。可以使用以下格式化字符。

序号 字符和描述
1 ‘-‘ 实线样式
2 ‘–‘ 虚线样式
3 ‘-.’ 点划线样式
4 ‘:’ 点线样式
5 ‘.’ 点标记
6 ‘,’ 像素标记
7 ‘o’ 圆形标记
8 ‘v’ 向下三角标记
9 ‘^’ 向上三角标记
10 **’ <‘ ** 三角形左标记
11 **’ >’ ** 三角形右标记
12 ‘1’ 三角形向下标记
13 ‘2’ 三角形向上标记
14 ‘3’ 三角形向左标记
15 ‘4’ 三角形向右标记
16 ‘s’ 方形标记
17 ‘p’ 五边形标记
18 ‘*’ 星形标记
19 ‘h’ 六边形1标记
20 ‘H’ 六边形2标记
21 ‘+’ 加号标记
22 ‘x’ X标记
23 ‘D’ 菱形标记
24 ‘d’ 细菱形标记
25 | 竖线标记
26 ‘_’ 横线标记

以下颜色缩写也被定义。

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

要显示表示点的圆圈,而不是上面示例中的线,请在plot()函数中使用格式字符串 “ob”

示例

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

上述代码应该会产生以下输出 –

NumPy 与Matplotlib结合

正弦波绘图

以下的脚本使用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()

NumPy 与Matplotlib结合

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

上面的代码应该产生以下输出 –
NumPy 与Matplotlib结合

bar()

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

以下代码应该生成以下输出-

NumPy 与Matplotlib结合

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程