返回顶部
首页 > 资讯 > 后端开发 > Python >Python绘图并标记出指定点(最大值点)的方法介绍
  • 754
分享到

Python绘图并标记出指定点(最大值点)的方法介绍

2023-08-03 19:08:13 754人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本篇文章和大家了解一下python绘图并标记出指定点(最大值点)的方法介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。用Python代码,绘制图形并在图上最大值点处用箭头标记出数值。import numpy&

本篇文章和大家了解一下python绘图并标记出指定点(最大值点)的方法介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

用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() 显示图形,如下图:

Python绘图并标记出指定点(最大值点)的方法介绍

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%。

通过这些参数,我们可以调整注释框的位置、大小、颜色等属性,以达到我们想要的效果。

补充:matplotlib.pyplot 标记出曲线上最大点和最小点的位置

废话不多说,直接上代码。

要求:正确安装了matplotlib库

import matplotlib.pyplot as pltimport numpy as npdef demo_test():    a=np.array([0.15,0.16,0.14,0.17,0.12,0.16,0.1,0.08,0.05,0.07,0.06]);    max_indx=np.argmax(a)#max value index    min_indx=np.argmin(a)#min value index    plt.plot(a,'r-o')    plt.plot(max_indx,a[max_indx],'ks')    show_max='['+str(max_indx)+' '+str(a[max_indx])+']'    plt.annotate(show_max,xytext=(max_indx,a[max_indx]),xy=(max_indx,a[max_indx]))    plt.plot(min_indx,a[min_indx],'gs')    plt.show()if __name__=="__main__":    demo_test();

效果图如下:

Python绘图并标记出指定点(最大值点)的方法介绍

以上就是Python绘图并标记出指定点(最大值点)的方法介绍的简略介绍,当然详细使用上面的不同还得要大家自己使用过才领会。如果想了解更多,欢迎关注编程网Python频道哦!

--结束END--

本文标题: Python绘图并标记出指定点(最大值点)的方法介绍

本文链接: https://lsjlt.com/news/365756.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作