반응형
서브 플롯의 파이썬 xticks
단일 imshow
플롯을 플롯하면 사용할 수 있습니다
fig, ax = plt.subplots()
ax.imshow(data)
plt.xticks( [4, 14, 24], [5, 15, 25] )
내 xtick 레이블을 대체합니다.
이제 저는 다음을 imshow
사용하여 12 개의 플롯을 플로팅하고 있습니다.
f, axarr = plt.subplots(4, 3)
axarr[i, j].imshow(data)
이 서브 플롯 중 하나에 대한 xtick를 어떻게 변경할 수 있습니까? 을 사용하여 서브 플롯의 축에만 액세스 할 수 있습니다 axarr[i, j]
. plt
하나의 특정 서브 플롯에만 액세스하려면 어떻게 해야합니까?
두 가지 방법이 있습니다.
- 서브 플롯 객체 (예 :
ax.set_xticks
및ax.set_xticklabels
) 의 axes 메서드를 사용 하거나 plt.sca
플롯 상태 머신 (예 :plt
인터페이스) 의 현재 축을 설정하는 데 사용 합니다 .
예를 들어 (이것은 setp
모든 서브 플롯의 속성을 변경하는 데 사용 하는 방법도 보여줍니다 ) :
import matplotlib.pyplot as plt
fig, axes = plt.subplots(nrows=3, ncols=4)
# Set the ticks and ticklabels for all axes
plt.setp(axes, xticks=[0.1, 0.5, 0.9], xticklabels=['a', 'b', 'c'],
yticks=[1, 2, 3])
# Use the pyplot interface to change just one subplot...
plt.sca(axes[1, 1])
plt.xticks(range(3), ['A', 'Big', 'Cat'], color='red')
fig.tight_layout()
plt.show()
다음 솔루션이 제안 된 matplotlib 저장소에 대한 (매우) 최근 답변 을 참조하십시오 .
xticklabels를 설정하려면 :
ax.set_xticks([1,4,5]) ax.set_xticklabels([1,4,5], fontsize=12)
기본값과 위치를 사용하여 xticklabels의 글꼴 크기 만 늘리려면 (개인적으로 자주 필요하며 매우 편리하다고 생각하는) :
ax.tick_params(axis="x", labelsize=12)
한 번에 모두 수행하려면 :
plt.setp(ax.get_xticklabels(), fontsize=12, fontweight="bold", horizontalalignment="left")`
이후 버전의 Matplotlib에서 set_yticks
와 같이 및 set_xticks
함수가 제거되었습니다. 내가 한 것은 x, y 틱의 크기를 설정하는 대신 그림 크기를 변경 한 것입니다.
plt.figure(1, dpi=200, figsize=(20,20))
나는 그것이 다소 직관적이지 않다는 것을 알고 있지만 그것이 나를 위해 일한 것입니다 ... Matplotlib의 이후 버전 에서이 문제를 해결하는 더 좋은 방법이 있는지 알려주십시오. 감사
참조 URL : https://stackoverflow.com/questions/19626530/python-xticks-in-subplots
반응형
'developer tip' 카테고리의 다른 글
자바 스크립트 연관 배열의 길이 (0) | 2020.12.15 |
---|---|
Spring은 Map Bean을 autowire 할 수 없습니다. (0) | 2020.12.15 |
SQL Server 2008 Express 데이터베이스에 모든 쿼리를 기록 하시겠습니까? (0) | 2020.12.15 |
매개 변수가있는 메소드 이름에서 선택기 작성 (0) | 2020.12.15 |
컨트롤러 ASP.NET MVC에서 프로젝트 루트 경로 가져 오기? (0) | 2020.12.15 |