4.25

8-3 【Python0027】函数图形绘制
分数 10
作者 doublebest
单位 石家庄铁道大学

【题目描述】设
图片2.png

图片3.png

图片4.png
,其中
图片5.png
,完成下列操作:

(1)在同一坐标系下用不同的颜色和线型绘制y1、y2和y3三条曲线;

(2)在同一绘图框内以子图形式绘制y1、y2和y3三条曲线。

【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。

 
 
代码:
import numpy as np
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()
posted @ 2024-06-19 18:02  孙锺鸣  阅读(2)  评论(0编辑  收藏  举报