- Matplotlib으로 그래프를 그려보자2024년 06월 03일
- Lv. 34 라이츄
- 작성자
- 2024.06.03.:45
일단 이번에는 VScode가 아닌 다른 걸 켜볼건데… 바로 Jupyter이다. 얘가 칸단위로 처리할 수 있어서 개편합니다. 그래서 Jupyter, Numpy, Pandas, Matplotlib까지 설치하고 오시면 됩니다.
import numpy as np import pandas as pd import matplotlib.pyplot as plot
다 불러오면 된다.
Jupyter는 이렇게 하고 Ctrl+Enter만 누르면 만사 오케이다.
x = np.linspace(0,10,1000) fig, ax = plot.subplots() ax.plot(x, np.sin(x)) plot.show()
linspace는 넘파이에 있는건데, 저게 무슨 뜻이냐면 1) 0부터 2) 10까지 3) 간격 1000으로 나눠달라 는 얘기다. 두번째줄 저거는 뭔진 모르겠는데 있어야 그려주데… 그리고 세번째줄은 y=sin(x)의 그래프를 그려달라는 얘기. 마지막줄은 그렸으면 보여달라는 얘기다.
그니까 이렇게 했으면 여러분은 y-sin(x)의 그래프를 그린 게 맞는'데'… 솔직히 그렸다 땡 하면 여러분들 욕할거 다 알아요… 그러니까 저 그래프 모양을 살짝 손질해보자.
ax.set_xlim(0, 10) ax.set_ylim(-1.5, 1.5)
이렇게 하면 x축(위), y축(아래)의 값을 제한할 수 있다. 이렇게 하면 뭐가 좋냐고?
그래프가 꽉 차보입니다.
x = np.linspace(0,10,1000) fig, ax = plot.subplots() ax.plot(x, np.sin(x), color="#000000", label="y=sin(x)") ax.legend(loc='upper right') ax.set_xlim(0, 10) ax.set_ylim(-1.5, 1.5) ax.set_xlabel('X') ax.set_ylabel('y') plot.show()
뭐가 좀 많이 늘었는데 하나씩 차근차근 설명해주겠다. ax.set_xlabel, ax.set_ylabel은 각각 x축/y축 라벨이다. 그리고 ax.legend는 레전드인데... 이게 뭐냐면... 이 그래프는 사인함수 하나만 있지만 가끔 그런거 할 때 있잖아요? 뭐 예를 들자면 시정 점유율같은 거. 그런거 할 때 무슨색이 뭐고 무슨색이 뭐고 달려있는 그거다. ...그거 뭐라하지? 아무튼... ax.plot에 color="#000000"은 이 그래프 선을 검정색으로 바꿔라 이 얘기. color 옵션은 막대그래프에서도 통한다.
그래서 아까 그렸던 사인함수 그래프가 이렇게 됐다. 여기까지 잘 따라왔다면 여러분은 파이썬으로 사인함수 그래프 그려 본 사람이 되는거다.
솔직히 코사인 탄젠트 빠지면 섭하쥬?
plot.savefig('example.png')
요고 한 줄 쳐주면 당신이 그린 그래프를 저장할 수 있다.
놋북이 오래돼서 로딩이 느린거지 저장된거 맞다.
다음부턴 배경땜시 jpg로 해야쓰것군...
그래서 이게 다냐고? 아니, 이제 꺾은선 그래프 그려봤으니까 막대그래프도 그려볼거다. 그리고 엑셀파일도 불러와서 그려봐야 하고. 윈도우에는 안 깔려있어서 리눅스로 해야 하는게 단점이지만 아무튼… 다음편에서는 막대그래프도 그려보고, 판다스의 힘으로 엑셀파일도 불러와서 해보자.
'Coding > Python' 카테고리의 다른 글
Matplotlib으로 정규분포를 그려보자 (0) 2024.07.16 Matplotlib으로 그래프를 그려보자 (2) (0) 2024.06.05 배수 판별을 해보자 (0) 2024.04.10 구구단을 이차원 배열로 출력해보자 (0) 2024.03.12 현재 시각을 십이지시로 바꿔보자 (0) 2024.01.10 다음글이전글이전 글이 없습니다.댓글