1. 程式人生 > >Matplotlib圖形內的文字註釋、箭頭(三)

Matplotlib圖形內的文字註釋、箭頭(三)

import numpy as np
import matplotlib.pyplot as plt


''''
---text():在Axes物件的任意位置新增文字
---xlabel():為X軸新增標籤
---ylabel():為Y軸新增標籤
---title():為Axes物件新增標題
---legend():為Axes物件新增圖例
---figtext():在Figure物件的任意位置新增文字
---suptitle():為Figgure物件新增中心化的標題
---annotate():為Axes物件添加註釋(箭頭可選)
所有的方法會返回一個matplotlib.text.Text物件
'''
# 圖形內的文字text() x = np.arange(0, 2*np.pi, 0.01) plt.plot(np.sin(x)) plt.text(0, 0, "sin(0)=0") # x,y代表座標系中的數值 plt.show() # 使用figtext() x = np.arange(0, 2*np.pi, 0.01) plt.plot(np.sin(x)) plt.figtext(0.5, 0.5, "sin(0)=0") # 使用figtext時,x,y代表相對值,表示圖片的寬高 plt.show() '''註釋 ---annotate()引數設定箭頭指示的位置,xytext引數設定註釋文字的位置 ---arrowprops引數以字典的形式設定箭頭的樣式 ---width引數設定箭頭長方形部分的寬度,headlength引數設定箭頭尖端的長度 ---headwidth引數設定箭頭尖端底部的寬度,shrink引數設定箭頭頂點、尾部與指示點、註釋文字的距離(比例值)'''
plt.figure(figsize=(6, 6)) x = np.random.randint(0, 10, size=10) x[5] = 30 # 對x中索引值為5的重新賦值 plt.plot(x) plt.ylim([-2, 35]) # plt.annotate(s="this point is important", xy=(5, 30), xytext=(6, 31),arrowprops={"width": 2, "headlength": 5, "headwidth": #5, "shrink": 0.1}) plt.annotate(s="this point is important"
, xy=(5, 30), xytext=(6, 31),arrowprops={"arrowstyle":"->"}) # 如果arrowprops中有arrowstyle,就不應該有其他的屬性,xy代表的是箭頭的位置,xytext代表的是箭頭文字的位置。 plt.show()