matplotlib 그래프 안그려짐


  • Level 2

    x, y값이 나와있는 텍스트 파일로 그래프를 그리려고 하는데 그래프가 잘 안그려져서 질문 드립니다.
    왜 그런것일까요? 텍스트 파일이 전혀 입력되지않는걸까요?..

    import matplotlib.pyplot as plt
    %matplotlib inline

    f_in = open("C:/Users/afpml/Downloads/file_re/Dataa.txt","r")
    for line in f_in:
    line = line.strip() # take care blank lines [A]
    if line:
    xstr, ystr = line.split()

    x = float(xstr)
    y = float(ystr)

    plt.plot(x, y)
    plt.xlabel('wavenumber')
    plt.ylabel('absorbance')
    plt.xlim([4000, 400])
    plt.ylim([-1, 1])

    plt.show()

    ![alt text](1.PNG image url)

    2.PNG

  • Level 3

    안녕하세요!

    적어주신 코드에 들여쓰기가 안되어 있어 정확하지 않지만,
    plt.plot(x, y) 구문이 for문 안에 있다면, 점의 형태로 라인만큼 생성되게 되었을 것입니다.
    plt.plot() 매서드는 호출될 때마다 새로운 그래프를 만듭니다.

    Dataa.txt 값을 모두 하나의 그래프로 이으고 싶은 것이라면,
    x,y를 리스트로 만들어서 plt.plot()을 한 번 만 호출하시면 되겠습니다.

    아래 내용으로 테스트 해보시겠어요?

    code_text
    
    import matplotlib.pyplot as plt
    
    with open("C:/Users/afpml/Downloads/file_re/Dataa.txt","r") as f:
        data = f.readlines() # 전체 line read
    
    # 데이터 처리
    x = [float(i.strip().split()[0]) for i in data]
    y = [float(i.strip().split()[1]) for i in data]
    
    plt.plot(x, y)
    plt.xlabel('wavenumber')
    plt.ylabel('absorbance')
    plt.xlim([400, 4000])
    plt.ylim([-1, 1])
    
    plt.show()
    
    
    

ONLINE USERS

POPULAR TOPICS

SUGGESTED TOPICS

  • 8
  • 3
  • 1
  • 3
  • 3
  • 4
  • 4
  • 4