簡體   English   中英

從已經繪制的數據點制作列表

[英]Making a list from data points which already have been plotted

我正在嘗試列出我已經繪制的數據點/線,但我無法讓它工作。 我嘗試了幾件事,但不幸的是沒有結果。

我想要的是我得到一個我剛剛繪制的數據點的列表。 之后,我希望能夠在列表的幫助下創建多行,而不是現在發生的所有小行。 繪圖是在這兩行中完成的:

這個繪制垂直線ax.plot([i+1.5,i+1.5], [j+.5,j+1.5], linewidth=3,linestyle='-',color='#000000')

這個繪制水平線ax.plot([i+.5,i+1.5], [j+1.5,j+1.5], linewidth=3,linestyle='-',color='#000000')

有人可以幫幫我嗎? 下面是我的代碼的一部分。

for iIsochrone in range(int(np.nanmin(array)),int(np.nanmax(array)), Wavelinetime):
        #zorgt voor golflijn met stappen van 10 vertikaal
        for i in range(fileObject.numberOfColumnsInArray-1):
            for j in range(fileObject.numberOfRowsInArray):
                if (array[j, i]<=iIsochrone and array[j, i+1]>iIsochrone) or (array[j, i]>iIsochrone and array[j, i+1]<=iIsochrone):
                   ax.plot([i+1.5,i+1.5], [j+.5,j+1.5], linewidth=3,linestyle='-',color='#000000') #rechte blockline         
        #zorgt voor golflijn met stappen van 10 horizontaal
        for i in range(fileObject.numberOfColumnsInArray):
            for j in range(fileObject.numberOfRowsInArray-1):
                if (array[j, i]<=iIsochrone and array[j+1, i]>iIsochrone) or (array[j, i]>iIsochrone and array[j+1, i]<=iIsochrone):
                    ax.plot([i+.5,i+1.5], [j+1.5,j+1.5], linewidth=3,linestyle='-',color='#000000') #rechte blockline```

如此 SO post中所述,您可以使用get_lines()方法從 plot 中提取數據點

gca().get_lines()[n].get_xydata()

編輯:

另一種選擇是在繪制之前保存這些值。

例如,由於您正在使用列表,您可以將i值保存到名為mylisti的列表中,將j值保存到另一個名為mylistj的列表中:

mylisti=[]
mylistj=[]

for iIsochrone in range(int(np.nanmin(array)),int(np.nanmax(array)), Wavelinetime):
        #zorgt voor golflijn met stappen van 10 vertikaal
        for i in range(fileObject.numberOfColumnsInArray-1):
            for j in range(fileObject.numberOfRowsInArray):
                if (array[j, i]<=iIsochrone and array[j, i+1]>iIsochrone) or (array[j, i]>iIsochrone and array[j, i+1]<=iIsochrone):
                   mylisti+=[i+1.5,i+1.5]
                   mylistj+=[j+.5,j+1.5]
                   ax.plot([i+1.5,i+1.5], [j+.5,j+1.5], linewidth=3,linestyle='-',color='#000000') #rechte blockline         
        #zorgt voor golflijn met stappen van 10 horizontaal
        for i in range(fileObject.numberOfColumnsInArray):
            for j in range(fileObject.numberOfRowsInArray-1):
                if (array[j, i]<=iIsochrone and array[j+1, i]>iIsochrone) or (array[j, i]>iIsochrone and array[j+1, i]<=iIsochrone):
                    ax.plot([i+.5,i+1.5], [j+1.5,j+1.5], linewidth=3,linestyle='-',color='#000000') #rechte blockline```

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM