You may use plt.text to place the number as text in the plot. To have the number appear at the exact position of the coordinates, you may center align the text using ha="center", va="center".
import numpy as np; np.random.seed(2)
import matplotlib.pyplot as plt
xy = np.random.rand(10,2)
plt.figure()
for i, ((x,y),) in enumerate(zip(xy)):
plt.text(x,y,i, ha="center", va="center")
plt.show()
In order to have the plot autoscale to the range where the values are, you may add an invisible scatter plot
x,y =zip(*xy)
plt.scatter(x,y, alpha=0)
or, if numbers are really small, better an invisible plot
x,y =zip(*xy)
plt.plot(x,y, alpha=0.0)