本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理,
前言
如果我們想要在圖形中的任意位置添加注釋,該如何用pyhton代碼實作操作呢?
法1:
① 匯入必要的庫和模塊matplotlib.pyplot
② 為了能使圖形正常顯示中文,需要事先引入以下兩行代碼
plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus'] = False
③ 然后使用text函式定義要添加的注釋,該函式前兩個引數為注釋的坐標位置(相對于圖形的),后面一個引數為注釋文本
示例代碼如下:
#解決中文顯示問題 plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']= False mu,sigma=100,15#均值和方差 x=mu+sigma*np.random.randn(10000)#np.random.randn()標準正態分布,通過本函式可以回傳一個或一組服從標準正態分布的隨機樣本值 n,bins,patches=plt.hist(x,bins=50,density=1,facecolor='g',alpha=0.75)#繪制直方圖 #x:這個引數是指定每個bin(箱子)分布的資料,對應x軸 #bins:這個引數指定bin(箱子)的個數,也就是總共有幾條條狀圖 #density:這個引數指定密度,也就是每個條狀圖的占比例比,默認為1 #color:這個指定條狀圖的顏色 plt.xlabel('IQ值',fontsize=14,color='red') plt.ylabel('概率',fontsize=14,color='green') plt.title('IQ直方圖') plt.text(60,.025,r'$\mu=100,\\sigma=15$') #添加Tex運算式 plt.axis([40,160,0,0.03]) #設定坐標軸范圍 plt.grid(True) plt.show()
代碼運行結果如下圖所示:
法2:
示例代碼:
ax=plt.subplot(111) t=np.arange(0,5,0.01) s=np.cos(2*np.pi*t) line=plt.plot(t,s,lw=2) #lw是linewidth的簡寫 #添加注釋 plt.annotate('區域最大',xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor='black',shrink=0.05)) plt.ylim(-2,2) #設定y軸的范圍 plt.show()
運行結果如下:
注: text()函式會把添加的文本任意地放到圖形的空白位置上,annotate()函式可以非常方便地在圖形的特定位置添加文本,
以上文章來源于學海宇宙,作者 小宇宙
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/163283.html
標籤:其他
