2011-11-21 62 views
2

基本上我要做的是在boundingBox給出的特定邊界內繪製一個NxN網格併爲此寫入一個函數。我的想法是,我應該繪製水平線和垂直線,並通過將邊界範圍除以N來計算寬度和高度。然後,我想使用線的末端來繪製pyplot的線,這就是我的位置遇到麻煩。我有這樣的事情,但沒有經過深思熟慮。 boundingBox基本上是座標。用python連接一個圖中的一條線

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) 

This is what I have

This is what I want to have now

+1

請參見matplotlib模塊中的axhline和axvline。它們用於在圖上繪製水平和垂直線(分別)。 – Dunes

回答

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 

我可以有水平和垂直混合起來,但我希望模式很清楚。如果您有任何問題,請留下評論。祝你好運!

相關問題