Code前端首页关于Code前端联系我们

NumPy 教程:Matplotlib 绘图库和 Python 示例代码

terry 2年前 (2023-09-25) 阅读数 49 #后端开发

NumPy - Matplotlib

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

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

通常通过添加以下语句将包导入到Python脚本中:

from matplotlib import pyplot as plt
Python

这里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()
Python

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

图形由函数show()显示。

上述代码应产生以下输出:

NumPy教程:Matplotlib绘图库及Python 示例代码

作为线性图的替代方案,可以通过向 plot() 函数添加格式字符串来显示离散值。可以使用以下格式标记。

字符 描述
'-'实线样式
'--'哈希线样式
'-.'虚线样式
': '虚线样式
'。'点标记
','像素标记
'o'圆形标记
'v' 倒立三角形
'^'直角三角形
''直角三角形
'1'向下箭头标记
' 2' 向上箭头标记
'3'向左箭头标记
'4'向右箭头标记
's' 方形标记
'p' 五角形标记
'*' 星形标记
'h' 六角形标记 1
'H' 六角形标记 2
'+' 加号标记
'x'' 窄菱形标记
'|' 垂直线标记
'_' 水平线标记

还定义了以下颜色缩写。

字符颜色
'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()
Python

上述代码应生成以下输出:

NumPy教程:Matplotlib绘图库及Python 示例代码

绘制正弦波

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

NumPy教程:Matplotlib绘图库及Python 示例代码

subplot()

subplot()此函数允许您在同一图中绘制不同的内容。在下面的脚本中,您绘制值sinecosine

示例

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)  
# 建立 subplot 网格,高为 2,宽为 1  
# 激活第一个 subplot
plt.subplot(2,  1,  1)  
# 绘制第一个图像 
plt.plot(x, y_sin) 
plt.title('Sine')  
# 将第二个 subplot 激活,并绘制第二个图像
plt.subplot(2,  1,  2) 
plt.plot(x, y_cos) 
plt.title('Cosine')  
# 展示图像
plt.show()
Python

上述代码应生成以下输出:

NumPy教程:Matplotlib绘图库及Python 示例代码

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

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门