matplotlib로 그린 그림의 크기를 어떻게 변경합니까?
답변
그림 은 통화 서명을 알려줍니다.
from matplotlib.pyplot import figure
figure(num=None, figsize=(8, 6), dpi=80, facecolor='w', edgecolor='k')
figure(figsize=(1,1))
다른 dpi 인수를 지정하지 않는 한 인치 단위 이미지를 생성합니다.
답변
그림을 이미 만든 경우 다음과 같이 빠르게 수행 할 수 있습니다.
fig = matplotlib.pyplot.gcf()
fig.set_size_inches(18.5, 10.5)
fig.savefig('test2png.png', dpi=100)
기존 GUI 창에 크기 변경을 전파하려면 추가 forward=True
fig.set_size_inches(18.5, 10.5, forward=True)
답변
중단 노트 :
당으로 공식하기 matplotlib 가이드는 ,의 사용pylab
모듈은 더 이상 권장되지 않습니다. 이 다른 답변에서matplotlib.pyplot
설명한대로 모듈을 대신 사용하십시오 .
다음은 작동하는 것 같습니다.
from pylab import rcParams
rcParams['figure.figsize'] = 5, 10
이것은 그림의 너비를 5 인치로 만들고 높이를 10 인치로 만듭니다.
그런 다음 Figure 클래스는이를 인수 중 하나의 기본값으로 사용합니다.
답변
plt.rcParams 사용
그림 환경을 사용하지 않고 크기를 변경하려는 경우에도이 해결 방법이 있습니다. 따라서 plt.plot()
예를 들어 사용 하는 경우 너비와 높이로 튜플을 설정할 수 있습니다.
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = (20,3)
인라인을 플로팅 할 때 매우 유용합니다 (예 : IPython Notebook). @asamaier가 주목 한 것처럼이 명령문을 동일한 imports 문의 셀에 넣지 않는 것이 좋습니다.
cm로 변환
figsize
당신은 2.54으로 그들을 분할해야 센티미터에서 설정하려는 경우에 좀 그래서 튜플 인치를 받아들이는 이 질문을 .
답변
다음과 같이 간단한 코드를 사용해보십시오.
from matplotlib import pyplot as plt
plt.figure(figsize=(1,1))
x = [1,2,3]
plt.plot(x, x)
plt.show()
플롯하기 전에 그림 크기를 설정해야합니다.
답변
Pandas 에서 그림 크기를 변경하는 방법을 찾고 있다면 다음과 같이하십시오.
df['some_column'].plot(figsize=(10, 5))
df
팬더 데이터 프레임은 어디에 있습니까 ? 또는 기존 도형을 사용하려면
fig, ax = plt.subplots(figsize=(10,5))
df['some_column'].plot(ax=ax)
기본 설정을 변경하려면 다음을 수행하십시오.
import matplotlib
matplotlib.rc('figure', figsize=(10, 5))
답변
Google의 첫 번째 링크 'matplotlib figure size'
는 AdjustingImageSize ( 페이지의 Google 캐시 )입니다.
위 페이지의 테스트 스크립트는 다음과 같습니다. test[1-3].png
동일한 이미지의 크기가 다른 파일을 만듭니다 .
#!/usr/bin/env python
"""
This is a small demo file that helps teach how to adjust figure sizes
for matplotlib
"""
import matplotlib
print "using MPL version:", matplotlib.__version__
matplotlib.use("WXAgg") # do this before pylab so you don'tget the default back end.
import pylab
import numpy as np
# Generate and plot some simple data:
x = np.arange(0, 2*np.pi, 0.1)
y = np.sin(x)
pylab.plot(x,y)
F = pylab.gcf()
# Now check everything with the defaults:
DPI = F.get_dpi()
print "DPI:", DPI
DefaultSize = F.get_size_inches()
print "Default size in Inches", DefaultSize
print "Which should result in a %i x %i Image"%(DPI*DefaultSize[0], DPI*DefaultSize[1])
# the default is 100dpi for savefig:
F.savefig("test1.png")
# this gives me a 797 x 566 pixel image, which is about 100 DPI
# Now make the image twice as big, while keeping the fonts and all the
# same size
F.set_size_inches( (DefaultSize[0]*2, DefaultSize[1]*2) )
Size = F.get_size_inches()
print "Size in Inches", Size
F.savefig("test2.png")
# this results in a 1595x1132 image
# Now make the image twice as big, making all the fonts and lines
# bigger too.
F.set_size_inches( DefaultSize )# resetthe size
Size = F.get_size_inches()
print "Size in Inches", Size
F.savefig("test3.png", dpi = (200)) # change the dpi
# this also results in a 1595x1132 image, but the fonts are larger.
산출:
using MPL version: 0.98.1
DPI: 80
Default size in Inches [ 8. 6.]
Which should result in a 640 x 480 Image
Size in Inches [ 16. 12.]
Size in Inches [ 16. 12.]
두 가지 메모 :
-
모듈 설명과 실제 출력이 다릅니다.
-
이 답변을 사용하면 세 이미지를 하나의 이미지 파일로 쉽게 결합하여 크기의 차이를 볼 수 있습니다.