6.4
【题目描述】设
,
,
,其中
,完成下列操作:
(1)在同一坐标系下用不同的颜色和线型绘制y1、y2和y3三条曲线;
(2)在同一绘图框内以子图形式绘制y1、y2和y3三条曲线。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 10, 0.0001)
y1 = x ** 2
y2 = np.cos(x * 2)
y3 = y1 * y2
def plot_first_graph():
plt.figure()
plt.plot(x, y1, linestyle='-.', label='y1 = x^2')
plt.plot(x, y2, linestyle=':', label='y2 = cos(2x)')
plt.plot(x, y3, linestyle='--', label='y3 = y1 * y2')
plt.legend()
plt.savefig("3-1.png")
plt.show()
def plot_second_graph():
fig, subs = plt.subplots(2, 2)
subs[0, 0].plot(x, y1)
subs[0, 0].set_title('y1 = x^2')
subs[0, 1].plot(x, y2)
subs[0, 1].set_title('y2 = cos(2x)')
subs[1, 0].plot(x, y3)
subs[1, 0].set_title('y3 = y1 * y2')
plt.tight_layout()
plt.savefig("3-2.png")
plt.show()
while True:
print("请选择以下选项:")
print("1. 绘制第一个图")
print("2. 绘制第二个图")
print("其他数字: 退出")
choice = input("请输入选项: ")
if choice == '1':
plot_first_graph()
elif choice == '2':
plot_second_graph()
else:
break