Matplotlib.axes.Axes.add_line() in Python

21 Apr, 2020
Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library. The Axes Class contains most of the figure elements: Axis, Tick, Line2D, Text, Polygon, etc., and sets the coordinate system. And the instances of Axes supports callbacks through a callbacks attribute.
The Axes.add_line() function in axes module of matplotlib library is used to add a Line2D to the axes’ lines; return the line.
Syntax: Axes.add_line(self, line)
Parameters: This method accepts the following parameters.
line: This parameter is the Line2D.
Return value: This method returns the line.
Below examples illustrate the matplotlib.axes.Axes.add_line() function in matplotlib.axes:
Example 1:
# Implementation of matplotlib functionimport numpy as npimport matplotlib.pyplot as pltimport matplotlib.lines as linesimport matplotlib.transforms as mtransformsimport matplotlib.text as mtext    class GFGfun(lines.Line2D):    def __init__(self, *args, **kwargs):        self.text = mtext.Text(0, 0, '')        lines.Line2D.__init__(self, *args, **kwargs)        self.text.set_text(self.get_label())      def set_figure(self, figure):        self.text.set_figure(figure)        lines.Line2D.set_figure(self, figure)      def set_axes(self, axes):        self.text.set_axes(axes)        lines.Line2D.set_axes(self, axes)      def set_transform(self, transform):        # 2 pixel offset        texttrans = transform + mtransforms.Affine2D().translate(2, 2)        self.text.set_transform(texttrans)        lines.Line2D.set_transform(self, transform)      def set_data(self, x, y):        if len(x):            self.text.set_position((x[-1], y[-1]))          lines.Line2D.set_data(self, x, y)      def draw(self, renderer):        lines.Line2D.draw(self, renderer)        self.text.draw(renderer)    np.random.seed(10**7)    fig, ax = plt.subplots()x, y = np.random.rand(2, 20)line = GFGfun(x, y, mfc ='green', ms = 12,               label ='Label')  line.text.set_color('green')line.text.set_fontsize(16)  ax.add_line(line)  fig.suptitle('matplotlib.axes.Axes.add_line()\ function Example\n\n', fontweight ="bold")plt.show()
Output:
Example 2:
# Implementation of matplotlib functionimport randomimport matplotlib.lines as linesimport matplotlib.patches as patchesimport matplotlib.text as textimport matplotlib.collections as collectionsfrom basic_units import cm, inchimport numpy as npimport matplotlib.pyplot as plt  fig, ax = plt.subplots()ax.xaxis.set_units(cm)ax.yaxis.set_units(cm)  # Fixing random state for reproducibilitynp.random.seed(19680801)  if 0:    # test a line collection    # Not supported at present.    verts = []    for i in range(10):        # a random line segment in inches        verts.append(zip(*inch * 10 * np.random.rand(2,                                                     random.randint(2, 15))))    lc = collections.LineCollection(verts, axes = ax)    ax.add_collection(lc)  # test a plain-ol-lineline = lines.Line2D([0 * cm, 1.5 * cm],                    [0 * cm, 2.5 * cm],                    lw = 2, color ='green',                    axes = ax, alpha = 0.7)  ax.add_line(line)  ax.grid(True)  fig.suptitle('matplotlib.axes.Axes.add_line() \function Example\n\n', fontweight ="bold")plt.show()
Output:
Python-matplotlib
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.