Когда я рисую сегмент линии в matplotlib, ширина линии добавляется к длине строки. Ниже моего кода (не самый пифонический код, но он должен сделать трюк). Я что-то делаю неправильно или это просто функция matplotlib?
import matplotlib.pyplot as plt
import numpy as np
L1=100
L2=75
L3=100
Y=3
N=5
l_prev=0
for l,c in zip(np.linspace(0,L1,N),range(N)) :
plt.plot([l_prev,l],[0,0],'r',linewidth=20)
l_prev=l
l_prev=L1
for l,c in zip(np.linspace(L1,L1+L2,N),range(N)) :
plt.plot([l_prev,l],[Y,Y],'g',linewidth=1)
l_prev=l
l_prev=L1
for l,c in zip(np.linspace(L1,L1+L3,N),range(N)) :
p = plt.plot([l_prev,l],[-Y,-Y],'b',linewidth=10)
l_prev=l
plt.axvspan(xmin=L1,xmax=L1)
plt.axis([-5,205,-5,5])
plt.show()
Я ожидал увидеть три линейных сегмента: [0,L1], [L1,L2] and [L1,L3]
. Но первая строка [0,L1]
продолжается до L1
+ 'диаметра "....