在Python中,我们可以使用matplotlib库来绘制正弦和余弦曲线,并使用fill_between函数来填充曲线的某个区域。以下是一个简单的示例:
import numpy as np
import matplotlib.pyplot as plt
# 创建一个从0到4π的等差数列,步长为0.01
x = np.arange(0, 4*np.pi, 0.01)
# 计算对应的正弦和余弦值
sin_x = np.sin(x)
cos_x = np.cos(x)
# 创建一个新的图形
fig, ax = plt.subplots()
# 绘制正弦和余弦曲线
ax.plot(x, sin_x, label='sin(x)')
ax.plot(x, cos_x, label='cos(x)')
# 添加图例
ax.legend()
# 定义一个布尔数组,表示需要填充的区域(这里我们填充0到π之间的区域)
fill_between_condition = (x >= 0) & (x <= np.pi)
# 使用fill_between函数填充该区域,颜色为蓝色
ax.fill_between(x, sin_x, where=fill_between_condition, color='b')
# 显示图形
plt.show()
在这个例子中,我们首先创建了一个从0到4π的等差数列,然后计算了对应的正弦和余弦值。然后我们创建了一个新的图形,并绘制了正弦和余弦曲线。然后我们定义了一个布尔数组,表示需要填充的区域(这里我们填充0到π之间的区域),然后使用fill_between函数填充该区域,颜色为蓝色。最后,我们显示了图形
实验:
这段代码是使用Python的NumPy和Matplotlib库来绘制cosine和sine函数的图形,并添加了一些额外的注释和特性。以下是代码的详细注释:
# 导入需要的库
import numpy as np
import matplotlib.pyplot as plt
# 创建一个从-π到π的等差数列,包含256个点,endpoint=True表示包括π和-π
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
# 计算x对应的cosine和sine值
y_cos, y_sin = np.cos(x), np.sin(x)
# 设置图的标题为"Cos & Sin"
plt.title("Cos & Sin")
# 设置x轴的刻度为指定的值,并添加对应的标签
plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], [r'$-\pi$', r'$-\pi/2$', 0, r'$\pi/2$', r'$\pi$'])
# 设置y轴的刻度为指定的值
plt.yticks([-1.0, -0.5, 0, 0.5, 1])
# 绘制cosine函数的图形
plt.plot(x, y_cos)
# 绘制sine函数的图形
plt.plot(x, y_sin)
# 在图上添加网格线,线宽为0.3
plt.grid(axis='both', lw=0.3)
# 添加图例,显示为'COS'和'SIN',位置在左上角
plt.legend(['COS', 'SIN'], loc='upper left')
# 使用fill_between函数填充sine和cosine曲线之间的区域,条件是sine值小于cosine值,颜色为红色
plt.fill_between(x, y_sin, y_cos, where=y_sin < y_cos, color='r')
# 使用annotate函数在图上添加注释,箭头指向cos(1)的位置,起点在(π/3, 0.55),终点在(π/3, 1),箭头样式为->
plt.annotate("cos(1)", xy=(np.pi/3, 0.55), xytext=((np.pi/3), 1), arrowprops=dict(arrowstyle="->"))
# 显示图形
plt.show()
此代码主要用于可视化cosine和sine函数,以及在特定点进行注释。结果如下: