2014-02-05 5 views
3

플롯에 범례를 자동으로 추가하는 외부 모듈을 사용하고 있습니다. ax.set_legend (False)와 같은 전설을 해제하는 방법이 있는지 알고 싶습니다.matplotlib 축 객체의 범례 취소

모듈을 해킹하여 문제를 해결할 수는 있지만이를 수행하지 않을 것입니다.

예 :

f = plt.figure() 
ax = f.add_subplot(111) 

externalfunction(ax) 

# in the function ax.legend() has been called 
# would like to turn off the legend here 

plt.show() 

업데이트 : 당신은 전설의 가시성을 변경해야이 https://github.com/matplotlib/matplotlib/issues/2792

+1

이 문제를 해결할 수 있습니까? 전설 아티스트가 이동식이 아닌 것처럼 보입니다.하지만 그렇게해야합니다. – tacaswell

+0

그게 필요한가요? 나는 xndrme의 대답이 내가 필요한 것을한다고 느낀다. – Anake

+0

@ tcaswell의 제안은 향후 사용을위한 프레임 워크 개선을위한 것입니다. 내 솔루션을 사용할 수는 있지만 그렇게해서는 안됩니다.) –

답변

3

에 대한 github의 문제를 제기

이 시도 : ax.legend().set_visible(False)

+0

이 경우 범례가 재생성 된 다음 보이지 않게됩니다. – tacaswell

+0

@tcaswell (질문에 대한 +1 의견) 전설을 숨기기 위해이 해킹을 사용합니다. GitHub에서 문제가되어야합니다. –

3

축의 legend_ 속성을 다음과 같이 설정하여 수행 할 수도 있습니다. None. 후행 밑줄에 유의하십시오. 예 :

x, y = np.random.randn(2, 30) 
ax = plt.gca() 
ax.plot(x, y, label="data") 
ax.legend() 
ax.legend_ = None 

그것은 축을 제거하기 위해 좀 더 공식적으로 공동 제재 방법이있을 것이다 미래하기 matplotlib 버전처럼 들리지만, 이것은 그 동안 작동합니다/이전 버전에 부착합니다.