Thanks to visit codestin.com
Credit goes to www.tutorialspoint.com

Annotate Several Points with One Text in Matplotlib



To add annotated text in Matplotlib for several points, we can take the following steps −

  • Set the figure size and adjust the padding between and around the subplots.
  • Create x and y data points using numpy.
  • To set the label for each scattered point, make a list of labels.
  • Plot xpoints, ypoints using scatter() method. For color, use xpoints.
  • Iterate zipped labels, xpoints and ypoints.
  • Use annotate() method with bold LaTeX representation in a for loop.
  • To display the figure, use show() method.

Example

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

xpoints = np.linspace(1, 10, 10)
ypoints = np.random.rand(10)

labels = ["%.2f" % i for i in xpoints]

plt.scatter(xpoints, ypoints, c=xpoints)

for label, x, y in zip(labels, xpoints, ypoints):
   plt.annotate(
      f"$\bf{label}$",
      xy=(x, y), xytext=(-20, 20),
      textcoords='offset points', ha='center', va='bottom',
      arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0'))

plt.show()

Output

Updated on: 2021-08-04T12:48:54+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements