Чтобы нарисовать путь между двумя точками на карте с большим количеством точек (почти две тысячи), я использую следующую функцию:
def path_between_cities(self, cities_with_coordinates, from_to):
from matplotlib.lines import Line2D
# coordinates from chosen path
x = [int(from_to[0][2]), int(from_to[1][2])]
y = [int(from_to[0][1]), int(from_to[1][1])]
#create line
line = Line2D(x,y,linestyle='-',color='k')
# create axis
x_ = np.array((0,2000))
y_ = np.array((0,6000))
plt.plot(x_,y_, 'o')
for item in cities_with_coordinates:
name = item[0]
y_coord = int(item[1])
x_coord = int(item[2])
plt.plot([x_coord], [y_coord], marker='o', markersize=1, color='blue')
plt.axes().add_line(line)
plt.axis('scaled')
plt.show()
Моя цель - извлечь все точки (координаты), которые находятся ниже нарисованной линии.
Я знаю, что вы можете сделать это, используя перекрестное произведение векторов
Учитывая большое количество векторов, каким будет наиболее эффективный способ добиться этого в контексте выше?
matplotlib
илиplotting
? - person 8-Bit Borges   schedule 11.07.2018matplotlib
. - person DYZ   schedule 11.07.2018