programing

서브플롯에서 그림 크기를 변경하려면 어떻게 해야 합니까?

sourcejob 2022. 9. 19. 23:33
반응형

서브플롯에서 그림 크기를 변경하려면 어떻게 해야 합니까?

그림의 크기를 늘리려면 어떻게 해야 하나요?이것은 아무것도 하지 않습니다.

fig.figsize(15, 15)

그림 개체에서 다음을 사용합니다.

fig.set_figheight(15)
fig.set_figwidth(15)

또는 사용할 때.subplots()새 그림을 작성하려면figsize=:

fig, axs = plt.subplots(2, 2, figsize=(15, 15))

또는 를 만듭니다.figure()를 사용한 오브젝트figsize인수 후 사용add_subplot서브플롯을 추가합니다.예.

import matplotlib.pyplot as plt
import numpy as np

f = plt.figure(figsize=(10,3))
ax = f.add_subplot(121)
ax2 = f.add_subplot(122)
x = np.linspace(0,4,1000)
ax.plot(x, np.sin(x))
ax2.plot(x, np.cos(x), 'r:')

간단한 예

이 메서드의 장점은 구문이 다음 콜에 가깝다는 것입니다.subplot()대신subplots()(예: 서브플롯은 다음 명령어를 사용하는 것을 지원하지 않는 것 같습니다.GridSpec서브플롯의 간격을 제어하기 위해서입니다만, 둘 다subplot()그리고.add_subplot()한다.

위의 답변 외에 그림 크기 및 그림 내의 서브플롯 크기를 개별적으로 설정할 수 있는 옵션이 있습니다.gridspec_kw:

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

#generate random data
x,y=range(100), range(10)
z=np.random.random((len(x),len(y)))
Y=[z[i].sum() for i in range(len(x))]
z=pd.DataFrame(z).unstack().reset_index()

#Plot data
fig, axs = plt.subplots(2,1,figsize=(16,9), gridspec_kw={'height_ratios': [1, 2]})
axs[0].plot(Y)
axs[1].scatter(z['level_1'], z['level_0'],c=z[0])

그 결과, 다음과 같은 수치를 얻을 수 있습니다.

사용할 수 있습니다.plt.figure(figsize = (16,8))최대 두 개의 하위 플롯이 있는 단일 플롯의 그림 크기를 변경할 수 있습니다.(그림 사이즈의 안쪽에서 그림 사이즈를 변경할 수 있습니다)

사용할 수 있는 더 많은 하위구의 그림 크기를 변경하는 방법plt.subplots(2,2,figsize=(10,10))서브플롯을 생성할 때 사용합니다.

플롯용subplots에 있어서for loop이것은 때때로 유용합니다.의 샘플 코드matplotlib히스토그램의 여러 하위 플롯 그림multivariate numpy array(2차원).

plt.figure(figsize=(16, 8)) 
for i in range(1, 7):
    plt.subplot(2, 3, i)
    plt.title('Histogram of {}'.format(str(i)))
    plt.hist(x[:,i-1], bins=60)
   from matplotlib import pyplot as plt
   lis=[img,gaussian_img,gaussian_img_8bit]
   f,axs=plt.subplots(3,1,figsize=(25,25)) #ROW,COLUMN
   axs[0].imshow(lis[0])
   axs[1].imshow(lis[1])
   axs[2].imshow(lis[2])

언급URL : https://stackoverflow.com/questions/14770735/how-do-i-change-the-figure-size-with-subplots

반응형