2013-04-27 4 views
1

파이썬에서 파이 Plot에 플롯을 생성합니다. 각 플롯에는 두 개 이상의 서브 플롯이 포함됩니다. 매개 변수를 정의하여 플롯에 범례를 정적으로 배치 할 수 있다는 것을 알고 있습니다. loc; 그러나, 나의 선택의 위치는 때때로 나의 계획의 데이터를 포함 할 것이다. 데이터를 방해하지 않는 위치에 범례를 어떻게 동적으로 배치합니까? tcaswell 이미 말했듯이플롯에서 동적으로 범례를 배치하십시오.

+1

'loc = 0' ('최상 ') 설정이 작동하지 않습니까? – tacaswell

답변

2

ax.legend(loc='best')을 사용

import matplotlib.pyplot as plt 
import numpy as np 
pi = np.pi 
sin = np.sin 
t = np.linspace(0.0, 2 * pi, 50) 
markers = ['+', '*', ',', ] + [r'$\lambda$'] 
phases = [0, 0.5] 
fig, ax = plt.subplots(len(phases)) 
for axnum, phase in enumerate(phases): 
    for i, marker in enumerate(markers, 1): 
     ax[axnum].plot(t, i*sin(2*t + phase*pi), marker=marker, 
        label='$i,\phi = {i},{p}$'.format(i=i, p=phase)) 
    ax[axnum].legend(loc='best', numpoints=1) 
plt.show() 

enter image description here

흥미롭게도, 전설의 위치가 고정되어 있지 않습니다. GUI를 사용하여 그래프를 이동하면 범례의 위치가 자동으로 재조정됩니다.

관련 문제