2016-06-13 2 views
0

plt.text를 사용하여 주석이 달린 텍스트 (이 경우 평균 및 표준 편차)에 숫자 값을 할당 할 때 문제가 있습니다. 명령.plt.text (matplotlib.pyplot.text)에서 자리 표시 자 (% d, % s) 사용

나는 6 개의 서브 플로트를 가지고 있기 때문에 하나씩 작성하는 대신이 프로세스를 자동화하려고합니다. 문제를 포함하는 코드는 아래 첨부 :

# var=dictionary containing output variables 
    b=1 
> for i in var: 
>  
>  # Created Subplots for different vectors (includes labelling of axes) here 

     # Mean[] is an array containing mean values for all the plots 

     plt.text(X_cord,Y_cord, r'$\mu=$' %d, %d (Mean[b-1]), fontsize=14) 
>  
>  #tick-properties 
>  
>  # Setting limits for axes 
>  b+=1 

파이썬 상당히 새로운 오전 따라서 파이썬에서 자리 표시자를 사용하는 방법에 대해 잘 모른다. 웹을 통해 검색했지만 수정 사항이별로 도움이되지 않았습니다.

내 질문은 두 가지입니다. plt.text에서 자리 표시 자 (% d)를 사용하여 모든 수단을 포함하는 배열 요소를 호출 할 수 있습니까? 그렇다면 어떻게?

+0

당신이 코딩 어떤 배경에서 오는가? 내가 파이썬 역학을 당신이 편안하다고 느끼는 관계로 설명 할 수 있다면 더 많은 것을 도울 수있다. –

+0

고맙습니다. :). 이 쿼리는 Herbst가 이미 아래에서 성공적으로 답변되었습니다. C와 Matlab 배경에서 왔습니다. 내가 mech 공학 배경에서 왔기 때문에 그 중 하나에 대한 광범위한 지식을 가지고 있지 마십시오. – SAkht312

답변

3

는 다음과 같은 시도 :

for i, _ in enumerate(var): 
    plt.text(X_cord,Y_cord, r'$\mu=%s$' % (Mean[i]), fontsize=14) 

내가 문자열 방법 .format를 사용하는 것을 선호 :

for i, _ in enumerate(var): 
    plt.text(X_cord,Y_cord, r'$\mu={}$'.format(Mean[i]), fontsize=14) 
+0

공유해 주셔서 감사합니다. 두 번째 픽스는 작은 조정 (중괄호 뒤에 $ 추가) 후에 작동하는 것 같습니다. 그러나 첫 번째 수정은 작동하지 않습니다. 이유를 알 수 없습니다. – SAkht312

+0

또한 첫 번째 솔루션에 문제가 있습니다. '% '뒤에 넣은 글자는 결과에 영향을줍니다. 사용 된 문자는 제공된 데이터 유형에 대해 정확해야합니다. –