知识储备

需要用到的库: numpy, matplotlib

numpy中:
np.linespace(start, end, sum):根据起止数据等间距地生成数组。例如,np.linespace(1, 50, 100) 这里是 1~50, 生成100个数据。

matplotlib中:
对subplots的使用:
fig, axes = plt.subplots(rows, cols, figsize = (14, 12))
fig代表绘图窗口(figure),axes代表这个绘图窗口上的坐标系(axes)。
rows是子图的行数,cols是子图的列数。
figsize可以来设置子图的宽度和高度。


例,创建四个子图,四个图的函数分别是y = sin(x),y = cos(x), y = sin(cos(x)), y = cos(sin(x))。
import math
import numpy as np
import matplotlib.pyplot as plt
#正常显示画图时出现的中文和负号
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

rows, cols = 2, 2
fig, axes = plt.subplots(rows, cols, figsize = (14, 12))
x = np.linspace(-2*math.pi, 2*math.pi, 100)
y = np.sin(x)
#设置子图的横纵坐标轴名称和子图的名称。
axes[0, 0].plot(x, y)
axes[0, 0].set_ylabel('y')
axes[0, 0].set_xlabel('x')
axes[0, 0].set_title('y = sin(x)')

y = np.cos(x)
axes[0, 1].plot(x, y)
axes[0, 1].set_ylabel('y')
axes[0, 1].set_xlabel('x')
axes[0, 1].set_title('y = cos(x)')

y = np.sin(np.cos(x))
axes[1, 0].plot(x, y)
axes[1, 0].set_ylabel('y')
axes[1, 0].set_xlabel('x')
axes[1, 0].set_title('y = sin(cos(x))')

y = np.cos(np.sin(x))
axes[1, 1].plot(x, y)
axes[1, 1].set_ylabel('y')
axes[1, 1].set_xlabel('x')
axes[1, 1].set_title('y = cos(sin(x))')

plt.show()

结果如下:

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐