假设我有2d线方程(y = Ax + B),即:
[[A_1, B_1] , [A_2, B_2], .. ]
Run Code Online (Sandbox Code Playgroud)
我想在2d范围内绘制线条,例如从点(-100,-100)到点(100,100).
据我所知,范围限制可以用xlim和实现ylim,但我不明白如何根据其方程画线.我知道一种方法可能是根据等式找到2个点,但我不明白plot函数如何适用于我的问题,谢谢.
要在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()
Run Code Online (Sandbox Code Playgroud)
鉴于你用这个问题来表达问题[[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()
Run Code Online (Sandbox Code Playgroud)