矢印をプロットしようとすると、matplotlib でまれな動作が見つかりました。以下のような図を作ると:
import matplotlib.pyplot as plt
import matplotlib.patches as patches
arrow = patches.FancyArrow(0.,0.,0.4,0.6)
fig = plt.figure(1)
ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)
ax1.add_line(arrow)
plt.show()
最初の軸に矢印が完全に表示されます。しかし、2番目の軸に同じ矢印を追加しようとすると:
import matplotlib.pyplot as plt
import matplotlib.patches as patches
arrow = patches.FancyArrow(0.,0.,0.4,0.6)
fig = plt.figure(1)
ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)
ax1.add_line(arrow)
ax2.add_line(arrow)
plt.show()
矢印がプロットされていないことに注意してください。
同じ図形を作成しようとすると、今度は別の矢印オブジェクトのコピーを使用します。
import matplotlib.pyplot as plt
import matplotlib.patches as patches
arrow1 = patches.FancyArrow(0.,0.,0.4,0.6)
arrow2 = patches.FancyArrow(0.,0.,0.4,0.6)
fig = plt.figure(1)
ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)
ax1.add_line(arrow1)
ax2.add_line(arrow2)
plt.show()
各パネルに 1 つずつ、両方の矢印が表示されます。そのため、さまざまなメソッドとオブジェクトの間に依存関係があるようです。誰かがここで何が起こっているか知っていますか? FancyArrow はバグがありますか? ありがとう。