반응형
Imshow : 범위 및 측면
저는 3D 데이터 세트를 통해 슬라이스와 투영을 시각화하는 소프트웨어 시스템을 작성하고 있습니다. 저는 matplotlib
특히 imshow
분석 코드에서 얻은 이미지 버퍼를 시각화하기 위해 사용 하고 있습니다.
플롯 축으로 이미지에 주석을 달고 싶기 때문에 imshow
이미지 버퍼 픽셀 좌표를 데이터 공간 좌표계에 매핑 하는 데 제공 하는 범위 키워드를 사용합니다 .
불행히도 matplotlib
단위에 대해 모릅니다. (인공적인 예를 들어) 치수가 1000 m X 1 km
. 이 경우 범위는 [0, 1000, 0, 1]
. 이미지 배열이 정사각형이지만 extent 키워드가 암시하는 종횡비가 1000이므로 결과 플롯 축의 종횡비도 1000입니다.
범위 키워드를 사용하여 자동으로 생성 된 주요 눈금 및 레이블을 유지하면서 플롯의 종횡비를 강제 할 수 있습니까?
이미지의 측면을 수동으로 설정하거나 그림의 범위를 채우기 위해 자동 크기 조정을 허용하여 수행 할 수 있습니다.
기본적으로 imshow
플롯의 측면을 1로 설정합니다. 이는 종종 사람들이 이미지 데이터를 원하기 때문입니다.
귀하의 경우 다음과 같이 할 수 있습니다.
import matplotlib.pyplot as plt
import numpy as np
grid = np.random.random((10,10))
fig, (ax1, ax2, ax3) = plt.subplots(nrows=3, figsize=(6,10))
ax1.imshow(grid, extent=[0,100,0,1])
ax1.set_title('Default')
ax2.imshow(grid, extent=[0,100,0,1], aspect='auto')
ax2.set_title('Auto-scaled Aspect')
ax3.imshow(grid, extent=[0,100,0,1], aspect=100)
ax3.set_title('Manually Set Aspect')
plt.tight_layout()
plt.show()
참고 URL : https://stackoverflow.com/questions/13384653/imshow-extent-and-aspect
반응형
'IT TIP' 카테고리의 다른 글
doxygen을 사용하여 C ++ 소스에서 UML 클래스 다이어그램을 만드는 방법 (0) | 2020.10.16 |
---|---|
stringstream 재설정 (0) | 2020.10.16 |
phpunit에 실패시 중지하는 방법 (0) | 2020.10.16 |
HTML 툴팁 (제목 속성)의 형식을 지정할 수 있습니까? (0) | 2020.10.16 |
Tinyint 대 Bit? (0) | 2020.10.16 |