매트플로트립에서 X축 레이블을 아래로 이동하지만 X축 눈금은 아래로 이동하지 않습니다.
히스토그램을 그리기 위해 Matplotlib을 사용하고 있습니다.이전 질문의 팁: Matplotlib - 각 빈에 레이블을 지정하여 문제를 해결했습니다.
마지막 문제가 하나 있습니다. 이전에는 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가 수행한 이미지 크기 조정으로 인해 거의 읽을 수 없게 되었습니다.
레이블 패드 매개변수 사용:
pl.xlabel("...", labelpad=20)
또는 다음과 같이 설정합니다.
ax.xaxis.labelpad = 20
변수 ax.xaxis인 경우._autolabelpos = True, matplotlib은 레이블 위치를 function _update_label_position 축으로 설정합니다.py(일부 발췌):
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 또는 위에서 언급한 대로 설정합니다.
수동으로 패딩하는 대신 수직 정렬을 할당합니다.va=
):
ax.set_xlabel("x label", va='top');
@HYRY의 답변과 같이 라벨 패딩을 수동으로 수정하면 때때로 그림을 저장할 때 라벨이 잘립니다.레이블을 포함하려면, 설정bbox_inches='tight'
방문하실 때savefig()
예:
plt.plot(range(10))
plt.xlabel("x label", labelpad=30);
plt.savefig('img.png', bbox_inches='tight');
OOP API를 사용하면 다음과 같습니다.
fig, ax = plt.subplots()
ax.plot(range(10))
ax.set_xlabel("x label", labelpad=30);
fig.savefig('img.png', bbox_inches='tight');
언급URL : https://stackoverflow.com/questions/6406368/move-x-axis-label-downwards-but-not-x-axis-ticks-in-matplotlib
'itsource' 카테고리의 다른 글
행 제한 절을 사용하여 Oracle 쿼리에서 열 복제 (0) | 2023.07.21 |
---|---|
IPython 노트북에서 코드가 실행되는지 확인하려면 어떻게 해야 합니까? (0) | 2023.07.21 |
오라클 추적 파일에서 교착 상태 오류의 원인 찾기 (0) | 2023.07.21 |
.gitignore 파일에 Django 마이그레이션 파일을 추가해야 합니까? (0) | 2023.07.16 |
장고의 CSRF 유효성 검사를 비활성화하는 방법은 무엇입니까? (0) | 2023.07.16 |