Matplotlib圖形內的文字註釋、箭頭(三)
阿新 • • 發佈:2019-01-07
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()