2014-07-01 1 views
0

Line2D 아티스트를 다른 그림에서 재사용하려고하면 Matplotlib에서 이상한 동작이 발생합니다. 두 번째 그림에서는 아티스트가 오프셋됩니다.Matplotlib : Line2D를 다시 사용하면 선이 오프셋됩니다.

내가 잘못했거나 버그입니까? 그렇다면 그것을 피할 수있는 빠른 방법이 있습니까?

다음 코드까지 문제를 삶은했습니다 http://imgur.com/IzaLR5E.jpg에서

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') 

이미지하지만 난 그것을 게시 할 평판이 부족하다.

+0

잘 작동합니다. – ThePredator

+0

감사합니다. Matplotlib 버전 1.3을 실행하고있었습니다. 1.3.1에는 수정 사항이 포함 된 버전 노트에 "한 서브 플로트에서 다른 서브 플로트로 다른 드로잉 선이 작동합니다"라는 내용이 있으므로이 문제를 해결할 수 있습니다. 나는 갱신하고 점검 할 것이다. – user3401545

답변

0

축에 아티스트를 추가하면 축에서 좋은 세부 정보 (예 : 데이터 공간에서 가져 오기 위해 사용 된 변환 스택 -> 비공개 공간)가 선택됩니다.

당신과 같은 할 수없는 여러 인물/축에서 재사용 아티스트 (당신은 원칙적으로 이동을 할 수 있지만,이 용기를 만지지 포함 것이다). 두 번째로 그려보세요.

관련 문제