Is it possible, with Matplotlib, to print the values of each point on the graph?
For example, if I have:
x = numpy.range(0,10) y = numpy.array([5,3,4,2,7,5,4,6,3,2]) pyplot.plot(x,y)
How can I display y values on the plot (e.g. print a 5 near the (0,5) point, print a 3 near the (1,3) point, etc.)?
Just call the plot() function and provide your x and y values. Calling the show() function outputs the plot visually.
In single-point annotation we can use matplotlib. pyplot. text and mention the x coordinate of the scatter point and y coordinate + some factor so that text can be distinctly visible from the plot, and then we have to mention the text.
You can use the annotate command to place text annotations at any x and y values you want. To place them exactly at the data points you could do this
import numpy from matplotlib import pyplot x = numpy.arange(10) y = numpy.array([5,3,4,2,7,5,4,6,3,2]) fig = pyplot.figure() ax = fig.add_subplot(111) ax.set_ylim(0,10) pyplot.plot(x,y) for i,j in zip(x,y): ax.annotate(str(j),xy=(i,j)) pyplot.show()
If you want the annotations offset a little, you could change the annotate
line to something like
ax.annotate(str(j),xy=(i,j+0.5))
Use pyplot.text()
(import matplotlib.pyplot as plt
)
import matplotlib.pyplot as plt x=[1,2,3] y=[9,8,7] plt.plot(x,y) for a,b in zip(x, y): plt.text(a, b, str(b)) plt.show()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With