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

废话不多说,直接上代码。
要求:正确安装了matplotlib库

import matplotlib.pyplot as plt
import numpy as np

def 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();

效果图如下:
这里写图片描述

### Matplotlib.pyplot 功能概述 `matplotlib.pyplot` 是 Python 中用于数据可视化的模块之一,提供了丰富的绘图功能。以下是 `matplotlib.pyplot` 的主要功能及其使用方式: #### 1. 基本绘图功能 通过 `plot()` 方法可以绘制简单的二维图形。支持自定义线条样式、颜色以及标记。 ```python import matplotlib.pyplot as plt import numpy as np data = np.arange(1, 25) plt.plot(data, data**2, color='r', marker='o', linestyle='-.', alpha=0.5) plt.title("Basic Plot Example") plt.xlabel("X-axis Label") plt.ylabel("Y-axis Label") plt.grid(True) # 添加网格线 plt.show() ``` 此代码展示了如何创建一条曲线并设置其属性[^3]。 --- #### 2. 子图布局管理 可以通过 `subplots()` 创建多个子图,并对其进行独立配置。 ```python fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2) x = np.linspace(0, 2 * np.pi, 400) y1 = np.sin(x) y2 = np.cos(x) ax1.plot(x, y1, label="sin(x)", color="blue", linewidth=2) ax1.legend() ax2.plot(x, y2, label="cos(x)", color="green", linewidth=2) ax2.legend() plt.tight_layout() # 自动调整子图参数以防止重叠 plt.show() ``` 上述代码演示了如何在一个窗口中同时显示两个不同的图表。 --- #### 3. 向量场可视化 (`quiver`) `quiver()` 函数可用于绘制向量场,适用于流体力学等领域中的矢量表示。 ```python import matplotlib.pyplot as plt import numpy as np X, Y = np.meshgrid(np.arange(-2, 2, .2), np.arange(-2, 2, .2)) U = -Y V = X plt.figure(figsize=(8, 8)) Q = plt.quiver(X, Y, U, V, units='width') qk = plt.quiverkey(Q, 0.9, 0.9, 2, r'$2 \frac{m}{s}$', labelpos='E', coordinates='figure') plt.title("Quiver Plot Example") plt.show() ``` 这段代码说明了如何利用 `quiver()` 绘制带有箭头的向量场[^1]。 --- #### 4. 图形保存与导 可通过 `savefig()` 将生成的图像保存到本地文件系统中,支持多种格式(如 PNG、JPG 等)。 ```python plt.plot([1, 2, 3], [4, 5, 6]) plt.savefig("output_figure.png", dpi=300) # 设置分辨率为 300 DPI plt.close() # 关闭当前图形对象以防内存泄漏 ``` 以上代码片段解释了如何高效地存储生成的图像文件。 --- #### 5. 高级定制化选项 除了基本的功能外,还可以进一步优化图表外观,比如添加标题、标签轴、图例等辅助信息。 ```python plt.figure(figsize=(8, 6)) # 定义画布大小 plt.plot([1, 2, 3], [4, 5, 6], 'ro-', label="Sample Line") plt.title("Customized Chart Title", fontsize=16) plt.xlabel("Horizontal Axis Description", fontsize=12) plt.ylabel("Vertical Axis Description", fontsize=12) plt.legend(loc="upper left") # 显示图例位置 plt.xticks(range(1, 4), ["A", "B", "C"]) # 修改刻度标注 plt.yticks(fontsize=10) plt.show() ``` 这里列举了一些常见的高级特性应用实例。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值