概述
text
函數作用是根據
x
,
y
坐标向圖像添加文本。
annotate
函數作用是根據
x
,
y
坐标向圖像添加文本注解。
兩者非常相似,但是又有一定差别。
text
函數概述
text
text
函數的簽名為:
matplotlib.pyplot.text(x, y, s, fontdict=None, **kwargs)
參數說明如下:
-
,x
:放置文本的坐标。浮點數。必備參數。y
-
:文本。字元串。必備參數。s
-
:字型屬性字典,用于覆寫預設文本的字型屬性。字典。預設值為fontdict
,應用None
中的字型屬性。可選參數。rcParams
-
:**kwargs
對象的相關屬性。Text
text
函數的傳回值為
Text
對象。
annotate
函數概述
annotate
annotate
函數的簽名為:
matplotlib.pyplot.annotate(text, xy, *args, **kwargs))
參數說明如下:
-
:注解文本。字元串。必備參數。text
-
:需要注解的坐标,使用xy
參數确定的坐标系。浮點數元組。必備參數。xycoords
-
:設定xycoords
參數所使用的坐标系。字元串、xy
Artist
、可調用對象、Transform
。預設值為(float, float)
,即被注解對象的坐标系。可選參數。'data'
值 說明 ‘figure points’ 相對于圖像左下角的點數(points) ‘figure pixels’ 相對于圖像左下角的像素數(pixels) ‘figure fraction’ 相對于圖像左下角的比例((0, 0) 為圖像左下角 (1, 1) 為右上角) ‘axes points’ 相對于子圖左下角的點數(points) ‘axes pixels’ 相對于子圖左下角的像素數(pixels) ‘axes fraction’ 相對于子圖左下角的比例 ‘data’ 預設值,使用被注解對象的坐标系 ‘polar’ (theta, r) -
:放置注解文本的坐标。浮點數元組。預設值為xytext
。必備參數。xy
-
:設定textcoords
所使用的的坐标系。字元串、xytext
Artist
、可調用對象、Transform
。預設值為(float, float)
參數。xycoords
值 說明 ‘offset points’
參數值的偏移量,機關為點(points)xy
‘offset pixels’
參數值的偏移量,機關為像素(pixels)xy
-
:當注解超出子圖區域後是否繪制。布爾值或annotation_clip
。預設值為None
。可選參數。None
-
:隻有當True
坐标位于子圖之内才繪制注解。xy
-
:不檢測False
坐标位置,一直繪制注解。xy
-
:隻有當None
坐标位于子圖之内才繪制注解,且xy
參數值為xycoords
。'data'
-
-
:**kwargs
對象的相關屬性。Text
-
:被注解坐标點arrowprops
與注解文本位置xy
之間的箭頭屬性。字典,xytext
對象屬性。預設值為FancyArrowPatch
,即不繪制箭頭。可選參數。None
相關屬性如下:FancyArrowPatch
text
函數的傳回值為
Annotation
對象。
text
函數和 annotate
函數的對比
text
annotate
根據下面的示例可知:
-
函數可在指定坐标點繪制文本。text
-
函數如果隻使用annotate
和text
參數,那麼功能與xy
text
函數類似。
但是
函數可以獨立設定注解文本的位置,還可以添加需要注解的資料坐标與注解文本之間的箭頭。annotate
import matplotlib.pyplot as plt
plt.xlim(0,5)
plt.ylim(0,5)
# 繪制3個坐标點
plt.plot((3,3,3),(1,2,3),'o')
# 使用text函數設定文本
plt.text(3,1,'text')
# 使用annotate函數必備參數繪制注解
plt.annotate('annotate', xy=(3, 2))
# 使用annotate函數繪制注解,添加訓示箭頭
plt.annotate('annotate', xy=(3, 3), xytext=(4,3),
arrowprops=dict(arrowstyle='->',facecolor='black')
)
plt.show()