python 用直线方程绘制二维直线

oknrviil  于 2023-09-29  发布在  Python
关注(0)|答案(1)|浏览(123)

假设我有2d线方程(y = Ax + B),即:

[[A_1, B_1] , [A_2, B_2],  .. ]

我想在2D范围内绘制直线,例如从点(-100,-100)到点(100,100)。
据我所知,xlimylim可以达到范围限制,但我不知道如何根据其方程画线。我知道一种方法是根据方程找到2个点,但我不明白plot函数如何解决我的问题,谢谢。

yxyvkwin

yxyvkwin1#

要在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()

相关问题