그림 크기 (figsize
)은 그림의 크기를 인치 단위로 결정합니다. 이것은 축 (및 다른 요소)이 그림 안에있는 공간의 양을 나타냅니다. 기본 그림 크기는 matplotlib 2의 경우 (6.4, 4.8)
인치입니다. 그림 크기가 클수록 더 긴 텍스트, 더 많은 축 또는 더 많은 ticklabel이 표시됩니다.
도트 수 (dpi)은 그림이 구성하는 픽셀 수를 결정합니다. 하기 matplotlib의 기본 dpi로는 figsize=(w,h)
의도 그래서 예를 들면 화소의 크기의 도면을 얻기 위해서
px, py = w*dpi, h*dpi # pixels
# e.g.
# 6.4 inches * 100 dpi = 640 pixels
있을 것이다 100 인 (1200,600)
그림 크기와 dpi의 조합을 여러 개 선택할 수 있습니다 (예 :
figsize=(15,7.5), dpi= 80
figsize=(12,6) , dpi=100
figsize=(8,4) , dpi=150
figsize=(6,3) , dpi=200
etc.
이제 차이점은 무엇입니까? 이것은 그림 안의 요소의 크기에 의해 결정됩니다. 선, 마커, 텍스트와 같은 대부분의 요소는 점으로 주어진 크기를가집니다.
Matplotlib 숫자는 점 (ppi)의 72를 사용합니다. 두께 1 포인트의 선은 1.72입니다. 인치 와이드. 글꼴 크기가 12 포인트 인 텍스트는 12./72가됩니다. 인치 heigh.
물론 그림 크기를 인치로 변경하면 점은 변경되지 않으므로 인치의 큰 그림은 여전히 요소 크기가 동일합니다. 따라서 그림 크기를 변경하는 것은 다른 크기의 종이를 찍는 것과 같습니다. 이렇게하면 동일한 펜으로 그려지는 선의 너비는 변경되지 않습니다.
반면에 dpi를 변경하면 해당 요소가 조정됩니다. 72 dpi에서 1 포인트 크기의 선은 1 픽셀 강합니다. 144 dpi에서이 선은 2 픽셀 강합니다. 따라서 더 큰 dpi는 돋보기처럼 작동합니다. 모든 요소는 렌즈의 배율에 따라 조정됩니다.
일정한 그림 크기와 다양한 dpi에 대한 비교는 왼쪽 아래 이미지에 나와 있습니다. 오른쪽에서 일정한 dpi와 다양한 그림 크기를 볼 수 있습니다. 각 행의 숫자는 동일한 픽셀 크기입니다.

코드 재현 :
import matplotlib.pyplot as plt
%matplotlib inline
def plot(fs,dpi):
fig, ax=plt.subplots(figsize=fs, dpi=dpi)
ax.set_title("Figsize: {}, dpi: {}".format(fs,dpi))
ax.plot([2,4,1,5], label="Label")
ax.legend()
figsize=(2,2)
for i in range(1,4):
plot(figsize, i*72)
dpi=72
for i in [2,4,6]:
plot((i,i), dpi)
꽤 문제를 이해하지 않습니다. 하지만 내가 말할 수있는 것은 그림 크기가 인치 *와 * dpi로 고정되어야한다는 것입니다. "너무 큼"으로 인식하는 개체의 크기를 변경해야합니다. 즉 글꼴 크기, 선 너비, 눈금 표시 등을 설정해야합니다. 등등. 대개 dpi * 또는 * 크기를 인치로 수정하여 원하는 그림을 얻습니다. – ImportanceOfBeingErnest
@ImportanceOfBeingErnest 원하는 치수로 밝혀졌으며 파일 크기가 원하는 범위 내에있는 그림을 만들었습니다. 그러나 그려진 그래프는 너무 확대/축소 된 것으로 판명되었습니다. 재생할 수있는 크기 조정 및 종횡비 문제가있는 것으로 보이는 다른 스레드를 읽습니다. 이전에 설정 한 figsize() 및 dpi 매개 변수와 관련하여 캔버스의 모든 요소를 자동으로 조정하는 방법이 있어야한다고 생각하기 때문에 각 요소 크기를 선언하라는 제안은 다소 이상합니다. – Dennis
다시 시도해보십시오. 픽셀 크기는'1200 X 600'이고, 일반적으로 크기가'(12 x 6)'와 100 dpi 인 그림을 만들 것입니다.이 경우 선의 크기는 적절할 것입니다. 대신 400 dpi를 사용하면 그림의 각 점이 4 배로 커집니다. 분명히 그것은 당신이 원하는 것이 아닙니다. 하지만 필요한 경우 요소를 축소 할 수 있습니다 (예 : 1 대신 0.25). (스케일링이나 aspect 문제는 여기에 없으며, 이것이 어떻게 작동하고 예상대로일까요.) – ImportanceOfBeingErnest