2017-10-05 17 views
0

matplotlib.pyplot.imshow을 사용할 때 100x100 배열이 있지만 이미지 해상도가 50x50 인 경우 어떻게 데이터를 변환하거나 플로팅하도록 선택합니까? 어떤 매개 변수가이 동작을 제어합니까?모든 데이터를 표시 할 수있는 해상도가 충분하지 않은 경우 어떻게 matplotlib.pyplot.im이 데이터를 '축소'합니까?

내가 찾을 수있는 것은 matplotlibrc에 있으며, #image.resample : False이 있지만 옵션에 대한 문서를 찾을 수 없습니다. #image.interpolation은 어떤 영향을 미칩니 까?

감사합니다.

답변

0

as seen here 라이브러리에는 몇 가지 보간 방법이 있습니다. imshow() 메서드에 대해 interpolationis an optional parameter 인 것처럼 보입니다.

+0

알아두면 유용합니다! 감사! – Dan

0

그래서 몇 가지 테스트를 시도했지만 추가 데이터가 적어도 interpolation='none'interpolation=bilinear과 같은 변환 형식이 아닌 건너 뛴 것으로 생각됩니다. 참고 데이터 포인트는 경우에 따라 불규칙하게 늘어납니다. 숫자를 게시하는 데 충분한 명성이 없지만 여기에 코드가 나와 있습니다. (플롯을 보려면 확대해야합니다.)

import matplotlib.pyplot as plt 
import numpy as np 

np.random.seed(1) 
grid = np.random.rand(10, 10) 

fig=plt.figure(figsize=(1,1),frameon=False) 
plt.Axes(fig, [0., 0., 1., 1.]) 
plt.axis("off") 
plt.subplots_adjust(left=0,right=1,bottom=0,top=1) 

plt.imshow(grid,interpolation='none',cmap='jet') 

plt.savefig("test_dpi15_none.png",bbox_inches=0,pad_inches=0, dpi=15) 
plt.savefig("test_dpi10_none.png",bbox_inches=0,pad_inches=0, dpi=10) 
plt.savefig("test_dpi5_none.png",bbox_inches=0,pad_inches=0,dpi=5) 
plt.savefig("test_dpi2_none.png",bbox_inches=0,pad_inches=0,dpi=2)