您好,登錄后才能下訂單哦!
本篇文章和大家了解一下Python繪圖并標記出指定點(最大值點)的方法介紹。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
用Python代碼,繪制圖形并在圖上最大值點處用箭頭標記出數值。
import numpy as np import 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%。
通過這些參數,我們可以調整注釋框的位置、大小、顏色等屬性,以達到我們想要的效果。
補充: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();
效果圖如下:
以上就是Python繪圖并標記出指定點(最大值點)的方法介紹的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。