2017-04-22 3 views
0

막대 그래프를 그리기 위해 (matplotlib.pyplot plt) matplotlib를 사용하고 있습니다. 그 가로 막 대형 차트에서 나는 회색 색상의 axhline() 함수를 사용하여 가로선을 그렸습니다. 그 수평선이 시작하는 지점 (y 축의 값 = 42000)은 42000 즉 값을 표시해야합니다. 무엇을해야합니까?y 축 값 표시 가로선 막대 그래프

이 내 현재 이미지 아래 이미지에

enter image description here

에서, '39541.52'점을 볼? 내가 정확히 내 이미지와 내 포인트 값에 그렇게 표시 할 것은 라벨은, 예를 들어 생성 할 수 있습니다

enter image description here

+0

내가 이미 제공 한 생각 [이 답변] (http://stackoverflow.com/questions/42876219/point-picker-event- 처리기 - 그리기 - 라인 - 및 - 좌표 -에서 - matplotlib 좌표) 및 [이 답변] (http://stackoverflow.com/questions/43133017/how-to-change-colors-automatically-once-a-parameter- is-changed)와 똑같은 문제점 시트에서. 코드를 포함시키고 문제가 발생한 위치를 정확히 설명하면 확실하게 도움을 줄 수 있습니다. – ImportanceOfBeingErnest

답변

2

'42000'입니다 ax.text()을 사용하십시오. 레이블 위치를 지정하려면 x 위치에 축 좌표를 사용하고 y 위치에 데이터 좌표를 사용할 수있는 변환을 사용하는 것이 좋습니다.

ax.text(1.02, 4.2e4, "42000", .. , transform=ax.get_yaxis_transform()) 

전체 코드 :

import matplotlib.pyplot as plt 
import matplotlib.colors 
import numpy as np 

fig = plt.figure() 
ax = fig.add_subplot(111) 
x = [0,1,2,3] 
y = np.array([34,40,38,50])*1e3 
norm = matplotlib.colors.Normalize(30e3, 60e3) 
ax.bar(x,y, color=plt.cm.plasma_r(norm(y))) 
ax.axhline(4.2e4, color="gray") 
ax.text(1.02, 4.2e4, "42000", va='center', ha="left", bbox=dict(facecolor="w",alpha=0.5), 
     transform=ax.get_yaxis_transform()) 
plt.show() 

enter image description here

관련 문제