从已经绘制的数据点制作列表



我试图列出我已经绘制的数据点/行,但我无法让它工作。我尝试了几种方法,但不幸的是没有结果。

我想要的是得到我刚刚绘制的数据点的列表。在那之后,我希望能够在列表的帮助下创建多条线,而不是现在发生的所有细线。绘制是在这两行中完成的:

这张画的是竖线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```

正如本文所述,您可以使用get_lines()方法从绘图中提取数据点

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

编辑:

另一个选项是在绘制之前保存值。

例如,由于您正在使用列表,您可以将保存为。mylisti和你的jmylistj:
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```

最新更新