matplotlib で線分を描画すると、線幅が線の長さに追加されるようです。私のコードの下(最もpythonicなコードではありませんが、うまくいくはずです)。私は何か間違ったことをしていますか、それともこれは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()
私が期待していたのは、3 つの線分です: [0,L1], [L1,L2] and [L1,L3]
. しかし、最初の行[0,L1]
はL1
+ '直径' まで続きます....