상세 컨텐츠

본문 제목

파이썬 삼각함수 그래프 그리기 (상세 설명 버전)

<개인공부>/[Python]

by 데브수달 2026. 1. 13. 22:10

본문

728x90
반응형
import numpy as np           # 수치 계산(배열 생성, 삼각함수 값 계산)을 위한 도구
import matplotlib.pyplot as plt # 그래프를 그리기 위한 도구 (주로 plt라는 별명을 써요)

# ---------------------------------------------------------
# 1. 데이터 준비 단계 (Input 생성)
# ---------------------------------------------------------

# np.linspace(시작, 끝, 개수): 시작부터 끝까지 설정한 개수만큼 일정한 간격으로 숫자를 생성합니다.
# -2π부터 2π까지 400개의 점을 찍어서 선이 부드럽게 보이게 합니다.
x = np.linspace(-2 * np.pi, 2 * np.pi, 400)

# x값들(각도)을 각각 sin, cos, tan 함수에 넣어서 결과값(y)들을 계산합니다.
y_sin = np.sin(x)
y_cos = np.cos(x)
y_tan = np.tan(x)

# ---------------------------------------------------------
# 2. 그래프 그리기 단계 (Processing)
# ---------------------------------------------------------

# plt.figure: 그림을 그릴 전체 '도화지'의 크기를 설정합니다. (가로 10, 세로 6 인치)
plt.figure(figsize=(10, 6))

# plt.plot: 도화지에 선을 긋는 핵심 함수입니다.
# x축 데이터, y축 데이터를 넣고 label은 이 선의 이름, color는 색상입니다.
plt.plot(x, y_sin, label='Sin', color='blue') # 파란색 실선으로 사인 그래프 그리기
plt.plot(x, y_cos, label='Cos', color='red')  # 빨간색 실선으로 코사인 그래프 그리기

# plt.ylim: y축의 보여지는 범위를 제한합니다. 
# 탄젠트는 값이 무한히 커지기 때문에 제한을 두지 않으면 그래프가 깨져 보일 수 있습니다.
plt.ylim(-2, 2)
plt.plot(x, y_tan, label='Tan', color='green', linestyle='--') # 초록색 점선으로 탄젠트 그리기

# ---------------------------------------------------------
# 3. 그래프 꾸미기 단계 (Output 가공)
# ---------------------------------------------------------

# plt.axhline / axvline: 도화지 정중앙에 기준이 되는 검은색 가로줄(x축)과 세로줄(y축)을 긋습니다.
plt.axhline(0, color='black', linewidth=1) 
plt.axvline(0, color='black', linewidth=1)

# plt.title: 그래프의 맨 윗부분에 전체 제목을 답니다.
plt.title("Trigonometric Functions")

# plt.legend: 위에서 plot 할 때 설정한 'label'들을 모아서 '범례(설명창)'를 화면에 띄웁니다.
# 이게 있어야 어느 선이 사인이고 코사인지 알 수 있어요.
plt.legend()

# plt.grid: 그래프 배경에 모눈종이 같은 격자를 그립니다. (True: 켜기, linestyle: 선 모양)
plt.grid(True, linestyle=':')

# ---------------------------------------------------------
# 4. 출력 단계 (Display)
# ---------------------------------------------------------

# plt.show: 지금까지 설정한 모든 내용을 화면에 최종적으로 띄웁니다.
plt.show()

'

 

728x90
반응형

관련글 더보기