8-3 【Python0027】函数图形绘制 分数 10 作者 doublebest 单位 石家庄铁道大学
【题目描述】设
,
,
,其中
,完成下列操作:
(1)在同一坐标系下用不同的颜色和线型绘制y1、y2和y3三条曲线;
(2)在同一绘图框内以子图形式绘制y1、y2和y3三条曲线。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。
代码:import numpy as np标签:axs,values,y1,ax,y3,y2,4.25 From: https://www.cnblogs.com/szm123/p/18256964
import matplotlib.pyplot as plt
# 定义函数
def y1(x):
return x**2
def y2(x):
return np.cos(2*x)
def y3(x):
return y1(x)*y2(x)
# 创建x值范围
x_values = np.linspace(0, 10, 1000)
# (1)在同一坐标系下用不同的颜色和线型绘制 y1、y2 和 y3 三条曲线
fig, ax = plt.subplots()
ax.plot(x_values, y1(x_values), color='blue', linewidth=2, label='y1=x^2')
ax.plot(x_values, y2(x_values), color='red', linewidth=2, label='y2=cos(2x)')
ax.plot(x_values, y3(x_values), color='green', linewidth=2, label='y3=y1*y2')
ax.set_xlabel('x-axis')
ax.set_ylabel('y-axis')
ax.set_title('Function Graphs')
ax.legend()
plt.show()
# (2)在同一绘图框内以子图形式绘制 y1、y2 和 y3 三条曲线
fig, axs = plt.subplots(nrows=3, ncols=1, sharex=True)
axs[0].plot(x_values, y1(x_values), color='blue', linewidth=2, label='y1=x^2')
axs[0].set_title('y1=x^2')
axs[1].plot(x_values, y2(x_values), color='red', linewidth=2, label='y2=cos(2x)')
axs[1].set_title('y2=cos(2x)')
axs[2].plot(x_values, y3(x_values), color='green', linewidth=2, label='y3=y1*y2')
axs[2].set_title('y3=y1*y2')
for ax in axs.flat:
ax.set_yticks(np.arange(-1, 11, 1))
for ax in axs.flat:
ax.label_outer()
plt.show()