Вы используете plt.plot()
неправильно.
Что такое plt.plot()
доза График y против x в виде линий и / или маркеров.
В документах вы можете видеть, что, поскольку вызов plot(AB)
имеет только 1 аргумент, AB
передается как значения Y. в этом случае значение X является индексом элементов в массиве значений Y.
Это то же самое, что и вызов plt.plot([(1,0),(3,4)])
. так как у вас есть 2 кортежа значений Y, вы получите 2 разные строки: [(0,1),(1,3)]
и [(0,0),(1,4)]
. (обратите внимание, что значения x равны 0 и 1, индексу соответствующего кортежа значения Y).
На снимке экрана вы видите, что в первом случае вы также строите 2 линии. но в случае этих указанных c значений plt.plot([(0,0),(1,1)])
построит одну и ту же линию дважды.
Если вы просто хотите построить линию от точки А к точке Б, вы можете использовать:
A = Point(1,0)
B = Point(3,4)
AB = LineString([A,B])
plt.plot(*AB.xy)
plt.show()