matplotlib의 plt.figure()에 대한 참고 사항

        예를 들어 그런 요구 사항이 있다면 그림 10장을 그리고 나서 하나를 그리고 하나를 저장하고 싶은데 이때 코드를 이렇게 작성해야 할 수도 있습니다.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from utils import *
from datetime import datetime
from utils import *

df = pd.DataFrame({
    'a': np.arange(0,10),
    'b': np.arange(1,11),
    'c': np.arange(2,12),
})

for i in range(len(df.columns)):
    fig = plt.figure()
    ax = fig.add_subplot(111)
    print(id(fig))
    ax.scatter(df['a'],df['b'])
    plt.savefig(df.columns[i]+'.png')

f1 = plt.figure(0)
f2 = plt.figure(0)
f3 = plt.figure(0)
print(id(f1))
print(id(f2))
print(id(f3))

여기서 매 사이클 plt.figure()를 호출하여 새 캔버스를 생성합니다. 새 캔버스인지 확인하는 방법은 나중에 인쇄한 ID에서 볼 수 있으며 도면이 저장됩니다. 이 함수에는 매개 변수가 있습니다. 이는 숫자를 전달하는 것입니다. 즉, plt.figure(i)로 작성할 수 있습니다. 여기서 주의해야 할 사항은 매번 전달되는 숫자가 동일하면 리턴은 동일한 캔버스가 될 것이며 길이가 길다는 것입니다. 캔버스는 호출된 대로 항상 메모리에 있으며 다음에 다시 호출하면 기존 캔버스가 반환됩니다. 오늘 함수를 바꾸다가 이 구덩이에 빠졌습니다.. 두 개의 루프를 작성했을 때 그려진 그림이 모두 겹치는 것을 발견했습니다.

Guess you like

Origin blog.csdn.net/zy1620454507/article/details/128375161