Matlab의 imagesc ()와 비슷하기 때문에 imshow ()를 사용하여 numpy 배열을 시각화하려고합니다.
imshow(random.rand(8, 90), interpolation='nearest')
결과 수치는 회색 창의 중앙에서 매우 작으며 대부분의 공간이 비어 있습니다. 그림을 더 크게 만들기 위해 매개 변수를 어떻게 설정할 수 있습니까? 나는 figsize = (xx, xx) 시도했지만 내가 원하는 것이 아닙니다. 감사!
답변
당신이 포기하지 않는 경우 aspect
에 인수를 imshow
, 그것의 값을 사용 image.aspect
하여에서 matplotlibrc
. 새에서이 값의 기본값 matplotlibrc
은 equal
입니다. 따라서 imshow
동일한 종횡비로 배열을 플로팅합니다.
동일한 측면이 필요하지 않은 경우 다음으로 설정할 aspect
수 있습니다.auto
imshow(random.rand(8, 90), interpolation='nearest', aspect='auto')
다음 그림을 제공합니다
동일한 종횡비를 원한다면 종횡비 figsize
에 따라 조정해야합니다.
fig, ax = subplots(figsize=(18, 2))
ax.imshow(random.rand(8, 90), interpolation='nearest')
tight_layout()
다음을 제공합니다.
답변
이상합니다. 확실히 저에게 효과적입니다.
from matplotlib import pyplot as plt
plt.figure(figsize = (20,2))
plt.imshow(random.rand(8, 90), interpolation='nearest')
“MacOSX”백엔드 인 btw를 사용하고 있습니다.
답변
나도 파이썬을 처음 사용합니다. 여기에 당신이 원하는 것을 할 것 같은 것이 있습니다.
axes([0.08, 0.08, 0.94-0.08, 0.94-0.08]) #[left, bottom, width, height]
axis('scaled')`
이것이 캔버스의 크기를 결정한다고 생각합니다.
답변
2020 업데이트
@baxxx의 요청에 따라 random.rand
는 더 이상 사용되지 않기 때문에 여기에 업데이트 가 있습니다.
이것은 matplotlip 3.2.1에서 작동합니다.
from matplotlib import pyplot as plt
import random
import numpy as np
random = np.random.random ([8,90])
plt.figure(figsize = (20,2))
plt.imshow(random, interpolation='nearest')
이 플롯은 다음과 같습니다.
난수를 변경하려면 실험 할 수 있습니다 np.random.normal(0,1,(8,90))
(여기서는 평균 = 0, 표준 편차 = 1).