Math, asked by mukul2526, 9 months ago

how to plot a small line between 2 points which are very near in matplotlib

Answers

Answered by Anonymous
15

Answer:

def newline(p1, p2):

ax = plt.gca()

xmin, xmax = ax.get_xbound()

if(p2[0] == p1[0]):

xmin = xmax = p1[0]

ymin, ymax = ax.get_ybound()

else:

ymax = p1[1]+(p2[1]-p1[1])/(p2[0]-p1[0])*(xmax-p1[0])

ymin = p1[1]+(p2[1]-p1[1])/(p2[0]-p1[0])*(xmin-p1[0])

l = mlines.Line2D([xmin,xmax], [ymin,ymax])

ax.add_line(l)

return l

So, if you run the following code you will realize how does it work. The line will span the full range of your plot (independently on how big it is), and the creation of the line doesn't rely on any data point within the axis, but only in two fixed points that you need to specify.

import numpy as np

x = np.linspace(0,10)

y = x**2

p1 = [1,20]

p2 = [6,70]

Mark as brilliant answer ✌✌✌

Answered by ItsSpiderman44
0

Answer:

def newline(p1, p2):

ax = plt.gca()

xmin, xmax = ax.get_xbound()

if(p2[0] == p1[0]):

xmin = xmax = p1[0]

ymin, ymax = ax.get_ybound()

else:

ymax = p1[1]+(p2[1]-p1[1])/(p2[0]-p1[0])*(xmax-p1[0])

ymin = p1[1]+(p2[1]-p1[1])/(p2[0]-p1[0])*(xmin-p1[0])

l = mlines.Line2D([xmin,xmax], [ymin,ymax])

ax.add_line(l)

return l

So, if you run the following code you will realize how does it work. The line will span the full range of your plot (independently on how big it is), and the creation of the line doesn't rely on any data point within the axis, but only in two fixed points that you need to specify.

import numpy as np

x = np.linspace(0,10)

y = x**2

p1 = [1,20]

p2 = [6,70]

Mark as brilliant answer ✌✌✌

Similar questions