matplotlib에서 그림을 자동으로 크게 조정하십시오
-
13-09-2019 - |
문제
matplotlib/pylab 이미지에 포함 된 플롯을 올바르게 맞출 수 있도록 그림을 자동으로 조정하는 방법이 있습니까?
사용 된 데이터에 따라 종횡비가 다른 Heatmap (Sub) 플롯을 만들고 있습니다.
종횡비를 계산하고 수동으로 설정할 수 있다는 것을 알고 있지만 더 쉬운 방법이 있습니까?
해결책
사용 bbox_inches = 'titg'
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
X = 10*np.random.rand(5,3)
fig = plt.figure(figsize=(15,5),facecolor='w')
ax = fig.add_subplot(111)
ax.imshow(X, cmap=cm.jet)
plt.savefig("image.png",bbox_inches='tight',dpi=100)
... 이미지를 보여주지 않고 이미지를 저장할 때만 작동합니다.
다른 팁
imshow를 호출 할 때 측면 = 'auto'만 사용합니다.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
X = 10*np.random.rand(5,3)
plt.imshow(X, aspect='auto')
그것은 단지 보여주고 저축하지 않더라도 작동합니다.
이 작업을 수행하는 또 다른 방법
import matplotlib.pyplot as plt
fig,(ax) = plt.subplots(figsize=(8,4), ncols=1)
data = [0,1,2,3,4]
ax.plot(data)
fig.tight_layout()
fig.show()
이미지의 크기 나 플롯 내에서 볼 수있는 영역을 변경한다는 의미입니까?
그림의 크기는 설정할 수 있습니다 그림 .set_figsize_inches. 또한 Scipy Cookbook 그림 당 여러 이미지에 대한 섹션이 포함 된 이미지 크기 변경에 대한 항목이 있습니다.
또한 이것을 살펴보십시오 의문.
Axis ( 'Scaled')를 사용해 볼 수 있습니다.
import matplotlib.pyplot as plt
import numpy
#some dummy images
img1 = numpy.array([[.1,.2],[.3,.4]])
img2 = numpy.array([[.1,.2],[.3,.4]])
fig,ax = plt.subplots()
ax.imshow(img1,extent=[0,1,0,1])
ax.imshow(img2,extent=[2,3,0,1])
ax.axis('scaled') #this line fits your images to screen
plt.show()
사용할 수도 있습니다 Ax.Autoscale 도끼 객체와 함께
ax.autoscale(enable=True)
제휴하지 않습니다 StackOverflow