Python 绘制函数图像
题目
编写一个完整的程序,创建正方形画布,以画布中心为原点画出坐标轴,并按以下公式绘制函数曲线:
x = wh×(cos(t)+(1/2)×cos(7t)+(1/3)×sin(17t))/2
y = hh×(sin(t)+(1/2)×sin(7t)+(1/3)×cos(17t))/2
其中wh、hh的取值分别为画布的半宽和半高,t的取值范围为0至2π,步长为0.01。图形绘制结果如图所示。
程序设计思路
- 引入
matplotlib
和numpy
软件包。 - 使用
plot()
方法绘制横纵坐标轴。 - 使用
numpy
软件包的arange()
方法设置取值范围和步长。 - 写入主要的函数式。
- 使用
show()
方法执行绘制操作。
备注
本题主要使用 plot(([起点x坐标],[终点x坐标]),([起点y坐标],[终点y坐标]),[颜色])
的方法绘制图像。
参考答案
function.py
import matplotlib.pyplot as plt
import numpy as np
plt.plot((-1, 1), (0, 0), 'r') # 绘制横坐标轴
plt.plot((0, 0), (-1, 1), 'r') # 绘制纵坐标轴
t = np.arange(0, 2 * np.pi, 0.01) # 设置t的取值范围和步长
x = (np.cos(t) + (1 / 2) * np.cos(7 * t) + (1 / 3) * np.sin(17 * t)) / 2
y = (np.sin(t) + (1 / 2) * np.sin(7 * t) + (1 / 3) * np.cos(17 * t)) / 2
plt.plot(x, y, 'b') # 设置函数图像主体为蓝色
plt.show() # 绘制图像