pyplot 라이브러리 사용 중 원하는 결과를 얻지 못합니다.

조회수 1998회

import matplotlib.pyplot as plt import csv

def analyze(): day = range(1, 31) temp = [] datafile = '15_01.csv' with open(datafile, 'rt') as f: data = csv.reader(f, delimiter=',') for d in data: temp.append(d)

print(temp)

x = [day for day, temp, hum in temp]
y = [temp for day, temp, hum in temp]

p = plt.plot(x, y, 'r^--', label='temp')

plt.legend()
plt.title('2015 January tempature')
plt.xlabel('Day'), plt.ylabel('tempature')
plt.show()

if name == 'main': analyze()

코드는 위와 같고 csv파일을 읽어 1일~31일까지 기온 그래프를 그려주는데

이미지

위와 같이 순서대로 정렬되는 것이 아닌 1 -> 10 ~ 19 - >2 -> 20 ~ 29 와 같게 정렬됩니다. 제가 원하는 순서대로 정렬하려면 어떻게 해야할까요?

2 답변

  • temp를 sort하면 될 문제같습니다.

    print(temp)

    밑에

    temp.sort()라는 문구를 넣고 스크립트를 돌려보세요.

    • (•́ ✖ •̀)
      알 수 없는 사용자
  • 해결하셨나요? 시간이 지나서.. 해결하셨을 수도 있을 것 같지만.. 저도 비슷한 문제로 한참 고생해서.. 다른 분들이라도 검색하실 때 도움되시라고.. 남깁니다..ㅎ

    축 정렬이 이상하게 되는 이유는 리스트 안에있는 값들이 문자이기 때문일 것 같습니다. 확인해 보시고 리스트 안의 값을 숫자로 변환해 보세요.

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

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

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

(ಠ_ಠ)
(ಠ‿ಠ)