Matplotlib.pyplot.annotate() in Python (original) (raw)
import
numpy as np
import
matplotlib.pyplot as plt
x
=
np.arange(
0
,
10
,
0.005
)
y
=
np.exp(
-
x
/
3.
)
*
np.sin(
3
*
np.pi
*
x)
fig, ax
=
plt.subplots()
ax.plot(x, y)
ax.set_xlim(
0
,
10
)
ax.set_ylim(
-
1
,
1
)
xdata, ydata
=
5
,
0
xdisplay, ydisplay
=
ax.transData.transform((xdata, ydata))
bbox
=
dict
(boxstyle
=
"round"
, fc
=
"0.8"
)
arrowprops
=
dict
(
`` arrowstyle
=
"->"
,
`` connectionstyle
=
"angle, angleA
=
0
, angleB
=
90
,\
`` rad
=
10
")
offset
=
72
ax.annotate(
'data = (%.1f, %.1f)'
%
(xdata, ydata),
`` (xdata, ydata), xytext
=
(
-
2
*
offset, offset),
`` textcoords
=
'offset points'
,
`` bbox
=
bbox, arrowprops
=
arrowprops)
disp
=
ax.annotate(
'display = (%.1f, %.1f)'
%
(xdisplay, ydisplay),
`` (xdisplay, ydisplay), xytext
=
(
0.5
*
offset,
-
offset),
`` xycoords
=
'figure pixels'
,
`` textcoords
=
'offset points'
,
`` bbox
=
bbox, arrowprops
=
arrowprops)
plt.show()