Python绘图并标记出指定点(最大值点)
短信预约 -IT技能 免费直播动态提醒
用Python代码,绘制图形并在图上最大值点处用箭头标记出数值。
import numpy as npimport matplotlib.pyplot as plt# 生成数据,这里生成一个正弦曲线x = np.linspace(-5, 5, 100) # 在[-5,5]之间生成100个点作为x坐标y = np.sin(x) # 计算每个x点上的正弦值# 找到最大值点,这里使用np.argmax函数查找y数组中的最大值的索引max_idx = np.argmax(y)max_x, max_y = x[max_idx], y[max_idx]# 绘制图形plt.plot(x, y) # 绘制正弦曲线plt.scatter(max_x, max_y, color='red', s=50) # 在最大值点上绘制一个红色的圆点plt.annotate(f'max: ({max_x:.2f}, {max_y:.2f})', xy=(max_x, max_y), xytext=(max_x-1, max_y+0.5), arrowprops=dict(facecolor='red', shrink=0.05)) # 添加注释,使用红色箭头连接注释和最大值点plt.show() # 显示图形
这里我们生成了一个正弦曲线,并使用 plt.plot(x, y)
绘制了这个曲线。接着,我们使用 np.argmax(y)
查找了y数组中最大值的索引,也就是正弦曲线的最高点。然后,我们使用 plt.scatter(max_x, max_y, color='red', s=50)
在最大值点上绘制了一个红色的圆点,使用 plt.annotate
添加了一个注释,指出了最大值点的坐标,箭头颜色也设置成红色,注释与最大值点连接。最后,我们使用 plt.show()
显示图形,如下图:
plt.annotate
函数用于添加文本注释,其参数如下:
f'max: ({max_x:.2f}, {max_y:.2f})'
:注释的文本内容,这里使用了 f-string 格式化字符串,并使用.2f
指定了最大值点的坐标格式,保留小数点后两位。xy=(max_x, max_y)
:被注释的点的坐标,也就是最大值点的坐标。xytext=(max_x-1, max_y+0.5)
:注释文本的坐标,这里是相对于xy
坐标的偏移量,将注释文本放置在最大值点左上方。arrowprops=dict(facecolor='red', shrink=0.05)
:指定箭头的属性,这里使用了一个字典来指定箭头的颜色和大小。facecolor
指定箭头颜色为红色,shrink
指定箭头大小为当前注释框大小的5%。
通过这些参数,我们可以调整注释框的位置、大小、颜色等属性,以达到我们想要的效果。
来源地址:https://blog.csdn.net/weixin_57554259/article/details/129058496
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341