函数图象——在线性坐标系中绘制三角函数图象
本文记述了用 Matplotlib 在线性坐标系中绘制三角函数图象的例子。
代码主体内容如下:
...
def main():
fig, axs = plt.subplots(1, 3, figsize=(14,4.5)) #1
axs[0] = configure_axes(axs[0], 'Trigonometric Function\t\t\t' + r'$sine$', 2*np.pi, 1, np.pi, np.pi/2, 1, 1/2) #2
x = np.linspace(-2*np.pi, 2*np.pi, 300)
y = 1/2 * np.sin(2*x + np.pi/3) #3
axs[0].plot(x, y, color='b')
axs[0].text(3.5, 0.5, r'$y = \frac{1}{2}sin(2x + \frac{π}{3})$', color='b', horizontalalignment='left', verticalalignment='bottom')
y = np.sin(x) #4
axs[0].plot(x, y, color='k', linestyle=':')
axs[0].text(4, -1, r'$y = sin(x)$', color='k', horizontalalignment='left', verticalalignment='top')
#5
axs[1] = configure_axes(axs[1], '\t\t\t\t\t\t\t' + r'$cosine$', 4*np.pi, 2, np.pi, np.pi/2, 2, 1) #2
x = np.linspace(-4*np.pi, 4*np.pi, 300)
y = 2 * np.cos(1/2*x - np.pi*2/3) #3
axs[1].plot(x, y, color='r')
...
axs[2] = configure_axes(axs[2], '\t\t\t\t\t\t\t' + r'$tangent$', 3*np.pi, 5, np.pi, np.pi/2, 5, 2.5) #2
x1 = np.linspace(-35/12*np.pi, -13/12*np.pi, 100)
y1 = np.tan(x1*1/2) #3
x2 = np.linspace(-11/12*np.pi, 11/12*np.pi, 100)
y2 = np.tan(x2*1/2)
x3 = np.linspace( 13/12*np.pi, 35/12*np.pi, 100)
y3 = np.tan(x3*1/2)
axs[2].plot(x1, y1, x2, y2, x3, y3, color='y')
...
fig.tight_layout() #6
...
def configure_axes(ax, title, xlimit, ylimit, xmajorunit = 2*np.pi, xminorunit = np.pi, ymajorunit = 1, yminorunit = 1/2):
...
if __name__ == '__main__': main()
...
在绘图前,准备一个能放下 1x3 个图象的特定大小的区域(#1)。分别配置三个坐标系(#2),其中内容请参考在线性坐标系中绘制一次函数图象。分别用蓝色、红色和黄色实线绘制正弦函数 y = 1/2 * sin(2 * x + π / 3)、余弦函数 y = 2 * cos(1/2 * x - π * 2/3) 、正切函数 y = tan(1/2 * x) 的图象(#3)以及用黑色点线绘制标准正弦、余弦、正切函数图像(#4),并附上数学表达式说明(#5)。最后调整绘图区域大小以填充整个图象区域(#6)。
图象显示如下:
此代码可在 Matplotlib 3.3.4,Python 3.6.8 环境中运行。完整的代码请参考 [gitee] cnblogs/18630399 。
更多例子请参考 函数图象、数据可视化 和 Matplotlib Gallery。
受限于作者的水平,读者如发现有任何错误或有疑问之处,请追加评论或发邮件联系 green-pi@qq.com。作者将在收到意见后的第一时间里予以回复。 本文来自博客园,作者:green-cnblogs,转载请注明原文链接:https://www.cnblogs.com/green-cnblogs/p/18630399 谢谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器