English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

画图简单 Matplotlib

在本章中,我们将学习如何使用Matplotlib创建一个简单图。假设要在Matplotlib中显示一个简单的角度线图,以弧度为单位,与正弦值相对应。首先,导入Matplotlib包中的pyplot模块,并使用别名为plt。

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : es.oldtoolbag.com
# Date : 2020-08-08
import matplotlib.pyplot as plt

接下来需要一组数字来绘制。NumPy库中定义了各种数组函数,这些函数是使用np别名导入的。

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : es.oldtoolbag.com
# Date : 2020-08-08
import numpy as np

使用NumPy库中的arange()函数获得0到2π之间角度的ndarray对象。

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : es.oldtoolbag.com
# Date : 2020-08-08
x = np.arange(0, math.pi*2, 0.05)

ndarray对象用作图的x轴上的值。通过以下语句获得在y轴上显示的x中的角度的相应正弦值 -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : es.oldtoolbag.com
# Date : 2020-08-08
y = np.sin(x)

使用plot()函数绘制两个数组的值。

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : es.oldtoolbag.com
# Date : 2020-08-08
plt.plot(x,y)

可以设置绘图标题以及x和y轴的标签。

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : es.oldtoolbag.com
# Date : 2020-08-08
plt.xlabel("angle")
 plt.ylabel("sine")
 plt.title('sine wave')

show()函数调用绘图查看器窗口 -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : es.oldtoolbag.com
# Date : 2020-08-08
plt.show()

完整的程序代码如下 -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : es.oldtoolbag.com
# Date : 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math # needed for definition of pi
 # Mostrar configuración de idioma chino...
 plt.rcParams['font.sans-fuente serif] = ['SimHei']  # Paso uno (reemplazar fuentes sans-fuente serif)
 plt.rcParams['axes.unicode_minus'] = False  # Paso dos (solución al problema de visualización del signo negativo en el eje negativo)
 x = np.arange(0, math.pi*2, 0.05)
 y = np.sin(x)
 plt.plot(x,y)
 plt.xlabel(u"角度")
 plt.ylabel("Senoidal")
 plt.title('Onda senoidal')
 plt.show()

执行上面上面示例代码,得到以下结果 -

接下来在Jupyter Notebook环境中运行上面代码。

如前所述,从Anaconda导航器或命令行启动Jupyter Notebook。在输入单元格中,输入import语句导入Pyplot和NumPy -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : es.oldtoolbag.com
# Date : 2020-08-08
from matplotlib import pyplot as plt
 import numpy as np

要在Jupyter Notebook内部显示绘图输出(不是在单独的查看器中显示),请输入以下语句 -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : es.oldtoolbag.com
# Date : 2020-08-08
%matplotlib inline

完整的代码如下所示 -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : es.oldtoolbag.com
# Date : 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math # needed for definition of pi
 %matplotlib inline
 # Mostrar configuración de idioma chino...
 plt.rcParams['font.sans-fuente serif] = ['SimHei']  # Paso uno (reemplazar fuentes sans-fuente serif)
 plt.rcParams['axes.unicode_minus'] = False  # Paso dos (solución al problema de visualización del signo negativo en el eje negativo)
 x = np.arange(0, math.pi*2, 0.05)
 y = np.sin(x)
 plt.plot(x,y)
 plt.xlabel("Ángulo")
 plt.ylabel("Senoidal")
 plt.title('Onda senoidal')
 plt.show()

Ejecutar el código de ejemplo anterior en el Jupyter Notebook, y obtener los siguientes resultados -