在Python绘图中连接两个点的线

2 投票
1 回答
2001 浏览
提问于 2025-04-17 06:47

我需要做的基本上是,在一个给定的边界(boundingBox)内画一个NxN的网格,并为此写一个函数。我的想法是,先画水平线和垂直线,然后通过把边界的范围除以N来计算每条线的宽度和高度。接着,我想用pyplot来画这些线,使用线的起点和终点,但在这方面我遇到了一些困难。我现在有的想法还不够成熟。boundingBox其实就是一些坐标。

def drawGridLines(boundingBox, N):
    lonrange = boundingBox[1][0] - boundingBox[0][0]
    latrange = boundingBox[1][1] - boundingBox[0][1]
    lonpieces = lonrange/N
    latpieces = latrange/N

    while (lonpieces <= N):
        lon = lonpieces
        pylab.plot(lon)
        lonpieces = lonpieces + (lonrange/N)

这是我现在的结果

这是我想要的结果

1 个回答

1

我对Python和Pylab了解不多,所以可能不能完全回答你的问题,但我可以给你一些建议。看起来你想要在每次循环中画一条线。那样的话,可能需要用到两个循环,而不仅仅是一个。

我想你的第一个循环可能长这样:

//introduce some sort of counter variable
count =0
while(count <= N):
    //draw a vertical line at appropriate spot
    drawSpot = boundingBox[0][0] + count * lonPieces
    count = count +1

而你的第二个循环可能长这样:

count =0
while(count <= N):
    //draw a horizontal line at appropriate spot
    drawSpot = boundingBox[0][1] + count * latPieces
    count = count +1

我可能把水平和垂直搞混了,但我希望这个思路是清楚的。如果你有任何问题,请留言。祝你好运!

撰写回答