파이썬 그래프를 사진으로 저장하려고 하는데 안되요

조회수 16691회
//여기에 코드를 입력하세요

'''
두 물체 간 거리와 인장력 간 관계
'''
from pylab import figure, axes, pie, title, savefig
import matplotlib.pyplot as plt

#그래프 그리기
def draw_graph(x, y):
    plt.plot(x, y, marker='o')
    plt.xlabel('Distance in meters')
    plt.ylabel('Gravitational force in newtons')
    plt.title('Gravitational force and distance')
    plt.show()

def generate_F_r():
    #r에 대한 값을 생성하기
    r=range(100, 1001, 50)
    #F의 값을 저장하기 위한 공백 리스트
    F=[]

    #상수, G
    G=6.674*(10**-11)
    #두 개의 질량값
    m1 = 0.5
    m2 = 1.5

    #힘을 계산하고 리스트 F에 추가한다.
    for dist in r:
        force = G*(m1*m2)/(dist**2)
        F.append(force)

    #draw_graph함수를 호출한다.
    draw_graph(r, F)

if __name__=='__main__':
    generate_F_r()

savefig('GG.pdf')
savefig('C:\GG.pdf')


도와주시면 감사하겠습니다 ㅠ

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • gcf()로 현재 이미지 instance를 변수에 할당한 후, 이 instance로 savefig()를 불러야 합니다. draw_graph()만 다음같이 바꿔주세요

    def draw_graph(x, y):
        plt.plot(x, y, marker='o')
        plt.xlabel('Distance in meters')
        plt.ylabel('Gravitational force in newtons')
        plt.title('Gravitational force and distance')
    
        fig = plt.gcf() #변경한 곳
        plt.show()
        fig.savefig('GG.pdf') #변경한 곳
    
    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 그럼 사진은 어디에 저장 되는 거죠?? 알 수 없는 사용자 2017.2.6 13:26
    • 사진은 스크립트를 실행한 곳에 저장될거에요 알 수 없는 사용자 2017.2.6 13:27
    • savefig('GG.pdf') savefig('C:\GG.pdf') 이 밑에 두줄은 필요가 없는 거죠?? 알 수 없는 사용자 2017.2.6 13:44
    • 네 맨 아래에 savefig파일은 없애주세요. 맨 아래에 `savefig('GG.pdf')`를 그냥 두면 GG.pdf가 덮어써져버려 다시 빈 pdf 파일이 생성될겁니다. 알 수 없는 사용자 2017.2.6 13:46
    • 오 생겼어요!! 정말 감사합니다!! 알 수 없는 사용자 2017.2.6 13:49

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)