히스토그램을 그리기 위해 Matplotlib를 사용하고 있습니다. 이전 질문의 팁을 사용하여 Matplotlib-label each bin , 나는 다소간 문제를 해결했습니다.
마지막 문제가 하나 있습니다. 이전에는 x 축 레이블 ( “시간 (밀리 초)”)이 x 축 눈금 (0.00, 0.04, 0.08, 0.12 등) 아래에 렌더링되었습니다.
Joe Kingston의 조언 (위의 질문 참조)을 사용하여 다음을 사용해 보았습니다.
ax.tick_params(axis='x', pad=30)
그러나 이렇게하면 x 축 눈금 (0.00, 0.04, 0.08, 0.12 등)과 x 축 레이블 ( “시간 (밀리 초)”)이 모두 이동합니다.
x 축 레이블 만 그림의 세 행 아래로 이동할 수있는 방법이 있습니까?
Nb : 아래 PNG를 직접 열어야 할 수도 있습니다. 이미지를 마우스 오른쪽 버튼으로 클릭 한 다음 이미지보기 (FF) 또는 새 탭에서 이미지 열기 (Chrome)를 선택합니다. SO에 의해 수행 된 이미지 크기 조정으로 인해 거의 읽을 수 없게되었습니다.
답변
labelpad 매개 변수 사용 :
pl.xlabel("...", labelpad=20)
또는 다음에 설정하십시오.
ax.xaxis.labelpad = 20
답변
변수 ax.xaxis._autolabelpos = True 인 경우 matplotlib는 (일부 발췌)에 따라 axis.py의 _update_label_position 함수에서 레이블 위치를 설정합니다.
bboxes, bboxes2 = self._get_tick_bboxes(ticks_to_draw, renderer)
bbox = mtransforms.Bbox.union(bboxes)
bottom = bbox.y0
x, y = self.label.get_position()
self.label.set_position((x, bottom - self.labelpad * self.figure.dpi / 72.0))
다음을 사용하여 눈금과 독립적으로 레이블 위치를 설정할 수 있습니다.
ax.xaxis.set_label_coords(x0, y0)
_autolabelpos를 False로 설정하거나 labelpad 매개 변수를 변경하여 위에서 언급 한대로 설정합니다.