【机器学习】matplotlib库练习-函数绘图
# 1创建2个图形区域,一个叫做green,大小是16,8,一个叫做red,大小是10,6 # 2绿色区域画一条绿色的正弦曲线,红色区域化两条线,一条是绿色的正弦曲线,一条是红色的余弦曲线 # 3在green的绿色的正弦曲线上,把sin(π/6)=1/2这个公式参照课件中的标注方式进行标注 # 4坐标轴的刻度分别是x:-π,-π/2,π/2,π y:-1,-0.5,0,0.5,1 # 5坐标轴的交点要求在原点坐标,设置坐标轴,隐去右边线和上边线,将下边线和左边线设置为原点 # 6将图例设置显示并放在图形的右上方 import numpy as np import matplotlib.pyplot as plt from matplotlib.pyplot import MultipleLocator # 显示中文 plt.rcParams['font.sans-serif'] = ['SimHei'] # 解决无法显示负号 plt.rcParams['axes.unicode_minus'] = False #1 plt.figure(figsize=(30,10)) rect1 = [1/30, 1/10, 16/30, 8/10] # [左, 下, 宽, 高] 规定的矩形区域 (全部是0~1之间的数,表示比例) rect2 = [18/30, 1/10, 10/30, 6/10] green = plt.axes(rect1) red = plt.axes(rect2) # plt.show() #2 x1 = np.linspace(0.0, 8.0) x2 = np.linspace(0.0, 5.0) x3 = np.linspace(0.0, 5.0) y1=np.sin(x1) y2=np.cos(x2) y3=np.sin(x3) green.plot(x1, y1, color='green', ms=3, label="y=sin(x)") red.plot(x3, y3, color='green', ms=3,label="y=sin(x)") red.plot(x2, y2, color='red', ms=3,label="y=cos(x)") # plt.show() #3 #r'$xxxx$' #xy=标注点位置 #xytext:描述框相对xy位置 #textcoords='offset points',以xy为原点偏移xytext #arrowprops = 画弧线箭头,'---->', rad=.2-->0.2弧度 green.annotate(r'$sin(π/6)=1/2$',xy=(np.pi/6,1/2),xytext=(+30,-30),textcoords='offset points',fontsize=16, arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2')) # plt.show() #4 x_major_locator=MultipleLocator(np.pi/2) y_major_locator=MultipleLocator(1/2) green.xaxis.set_major_locator(x_major_locator) green.yaxis.set_major_locator(y_major_locator) red.xaxis.set_major_locator(x_major_locator) red.yaxis.set_major_locator(y_major_locator) # plt.show() #5 green.spines['top'].set_visible(False) green.spines['right'].set_visible(False) green.spines['bottom'].set_position(('data',0))#data表示通过值来设置x轴的位置,将x轴绑定在y=0的位置 green.spines['left'].set_position(('data',0))#data表示通过值来设置y轴的位置,将y轴绑定在x=0的位置 red.spines['top'].set_visible(False) red.spines['right'].set_visible(False) red.spines['bottom'].set_position(('data',0))#data表示通过值来设置x轴的位置,将x轴绑定在y=0的位置 red.spines['left'].set_position(('data',0))#data表示通过值来设置y轴的位置,将y轴绑定在x=0的位置 # plt.show() #6 green.legend(loc='upper right') red.legend(loc='upper right') plt.show()
标签:
机器学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix