【问题标题】:plot 2d lines by line equation in Python using Matplotlib使用 Matplotlib 在 Python 中逐行绘制 2d 行方程
【发布时间】:2016-10-01 18:54:51
【问题描述】:

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

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

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

据我了解,使用xlimylim 可以实现范围限制,但我不明白如何根据其方程画线。我知道一种方法是根据等式找到 2 个点,但我不明白 plot 函数如何解决我的问题,谢谢。

【问题讨论】:

  • 你指的是最合适的线吗?
  • 什么都没有,我只是想观察一些二维盒子里面的线条

标签: python matplotlib


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-05
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 2016-06-06
    相关资源
    最近更新 更多