【发布时间】:2014-07-01 08:09:57
【问题描述】:
当我尝试在另一个图中重用 Line2D 艺术家时,在 Matplotlib 中出现了奇怪的行为:在第二个图中,艺术家被偏移了。
我做错了什么还是这是一个错误?如果是这样,有没有一种快速的方法来避免它?
我将问题归结为以下代码:
import matplotlib.pyplot as pyplt
import numpy as np
xs=np.arange(10)
ys=np.arange(10)
line=pyplt.Line2D(xs,ys,color="red",linewidth=1)
print "IN THIS FIRST FIGURE, line LOOKS JUST FINE"
figure1 = pyplt.figure()
axes1 = figure1.add_subplot(111)
axes1.add_artist(line)
pyplt.show()
pyplt.close('all')
print "BUT WHEN I REUSE line IN ANOTHER FIGURE, IT IS OFFSET"
figure2 = pyplt.figure()
axes2 = figure2.add_subplot(111)
axes2.add_artist(line)
pyplt.show()
pyplt.close('all')
图片位于http://imgur.com/IzaLR5E.jpg,但我缺乏发布它的声誉。
【问题讨论】:
-
好的,谢谢。我正在运行 Matplotlib 1.3 版。我在版本说明中看到 1.3.1 包含一个修复:“从一个子图到另一个子图现在可以画线”,所以也许这可以解决这个问题。我会更新并检查。
标签: python matplotlib reusability