假设我有2d线方程(y = Ax + B),即:
[[A_1, B_1] , [A_2, B_2], .. ]
我希望在2d范围内绘制线条,例如从点(-100,-100)到点(100,100)。
据我了解,使用xlim
和ylim
可以达到范围限制,但我不了解如何根据其等式绘制线条。我知道有一种方法可以根据等式找到2个点,但我不明白plot
函数如何对我的问题起作用,谢谢。
答案 0 :(得分:7)
要在x和y的某个指定范围内绘制两条直线,您可以执行以下操作:
import numpy as np
import matplotlib.pyplot as plt
A1,B1 = 1.,1.
A2,B2 = 2.,2.
x = np.linspace(-100.,100.)
fig,ax = plt.subplots()
ax.plot(x,A1*x+B1)
ax.plot(x,A2*x+B2)
ax.set_xlim((-100.,100.))
ax.set_ylim((-100.,100.))
plt.show()
鉴于你用[[A_1, B_1] , [A_2, B_2], .. ]
来表达这个问题,建议你想要绘制一系列不同的线条,那么你可以使用这样的for
循环进行绘图:
import numpy as np
import matplotlib.pyplot as plt
AB = np.random.randn(100,2) #create a random array of [[A1,B1],[A2,B2],...] as example
x = np.linspace(-100.,100.)
fig,ax = plt.subplots()
for ABi in AB:
A,B = ABi
ax.plot(x, A*x+B )
ax.set_xlim((-100.,100.))
ax.set_ylim((-100.,100.))
plt.show()