繁体   English   中英

使用Matplotlib在Python中逐行绘制2d

[英]plot 2d lines by line equation in Python using Matplotlib

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

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

我想在2d范围内绘制线条,例如从点(-100,-100)到点(100,100)。

据我所知,范围限制可以通过xlimylim实现,但我不明白如何根据其等式绘制线条。 我知道一种方法可能是根据等式找到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()

鉴于你用[[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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM