2016-10-01 51 views
2

可以说我有2D线方程(Y = AX + B),即:情节2D线由线等式中使用Python Matplotlib

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

和我要绘制在二维范围的线,例如从点(-100,-100)到点(100,100)。

据我所知,范围限制可以通过xlimylim实现,但我不明白如何根据公式绘制直线。我知道有一种方法可以根据等式找到2个点,但我不明白plot函数如何适用于我的问题,谢谢。

+0

你是指最适合的线吗? – Abdou

+0

不是指任何东西,我只是想观察一些2D盒子里面的线条 – Guy

回答

3

要在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], .. ]方面的问题,这表明不同的线组成的数组你'd想绘图,那么你可以使用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()