전체 코드
# matplotlib.pyplot을 plt로 import합니다
import matplotlib.pyplot as plt
import numpy as np
# 아나콘다에서 동작 가능
#%matplotlib inline
#x축 범위 - 다항함수 / 사인코사인 / 탄젠트
x_upper = np.linspace(0, 5)
x_lower = np.linspace(0, 2 * np.pi)
x_tan = np.linspace(-np.pi / 2, np.pi / 2)
#x축 좌표 - 다항함수 / 사인코사인 / 탄젠트
positions_upper = [i for i in range(5)]
positions_lower = [0, np.pi / 2, np.pi, np.pi * 3 / 2, np.pi * 2]
positions_tan = [-np.pi / 2, 0, np.pi / 2]
#x축 좌표에 대응되는 라벨 - 다항함수 / 사인코사인 / 탄젠트
labels_upper = [i for i in range(5)]
labels_lower = ["0°", "90°", "180°", "270°", "360°"]
labels_tan = ["-90°", "0°", "90°"]
#출력되는 가장 큰 틀, 너비와 높이 지정
fig = plt.figure(figsize=(9, 6))
#큰 틀 안의 나머지 6개 그래프 자리, 너비와 높이 지정
plt.subplots_adjust(wspace=0.4, hspace=0.4) # 하나씩 넣는다. 상단, 측면의 크기 설정
#-----------------------------------------------------------------------------
# 다항함수 구하기 y=x, y=x^2, y=x^3
for i in range(3):
y_upper = x_upper ** (i + 1)
# 2x6 자리 배치 중에 1,2,3번 자리에 놓겠다.(가로로 쭉 나열)
ax = fig.add_subplot(2, 3, i + 1)
# 격자 표시 하겠다.
ax.grid(True)
# 제목을 설정한다.???????????
ax.set_title("$y=x^%i$" % (i + 1))
ax.set_xlabel("x-axis")
ax.set_ylabel("y-axis")
# 좌표를 설정하고 각각 라벨을 붙이겠다. 5개
ax.set_xticks(positions_upper)
ax.set_xticklabels(labels_upper)
# 다항함수 그리기
ax.plot(x_upper, y_upper)
#-----------------------------------------------------------------------------
# 사인 코사인 그래프
y_lower_list = [np.sin(x_lower), np.cos(x_lower)]
title_list = ["$y=sin(x)$", "$y=cos(x)$"]
for i in range(2):
# 사인과 코사인 그래프를 동시에 그리겠다.
y_lower = y_lower_list[i]
# 2x6 자리 배치 중에 4,5번 자리에 놓겠다.(가로로 쭉 나열)
ax = fig.add_subplot(2, 3, i + 4)
ax.grid(True)
# 제목도 리스트에 저장된 대로 놓겠다.
ax.set_title(title_list[i])
ax.set_xlabel("x-axis")
ax.set_ylabel("y-axis")
ax.set_xticks(positions_lower)
ax.set_xticklabels(labels_lower)
ax.plot(x_lower, y_lower)
#-----------------------------------------------------------------------------
# 탄젠트 그래프
ax = fig.add_subplot(2, 3, 6)
ax.grid(True)
ax.set_title("$y=tan(x)$")
ax.set_xlabel("x-axis")
ax.set_ylabel("y-axis")
ax.set_xticks(positions_tan)
ax.set_xticklabels(labels_tan)
# y값이 무한하게 커지고 작아지므로 범위를 설정해준다.
ax.set_ylim(-1, 1)
ax.plot(x_tan, np.tan(x_tan))
plt.show()
1. 다항함수 구현하기
# 제목을 설정한다.
ax.set_title("$y=x^%i$" % (i + 1))
2. 사인 코사인 그래프 그리기
#x축 좌표 - 다항함수 / 사인코사인 / 탄젠트
positions_upper = [i for i in range(5)]
positions_lower = [0, np.pi / 2, np.pi, np.pi * 3 / 2, np.pi * 2]
positions_tan = [-np.pi / 2, 0, np.pi / 2]
#x축 좌표에 대응되는 라벨 - 다항함수 / 사인코사인 / 탄젠트
labels_upper = [i for i in range(5)]
labels_lower = ["0°", "90°", "180°", "270°", "360°"]
labels_tan = ["-90°", "0°", "90°"]
# 좌표를 설정하고 각각 라벨을 붙이겠다. 5개
ax.set_xticks(positions_upper)
ax.set_xticklabels(labels_upper)
탄젠트 그래프 구현시 y축 범위 설정
# y값이 무한하게 커지고 작아지므로 범위를 설정해준다.
ax.set_ylim(-1, 1)
'Robot > 22년도 자율주행 테크니션 양성과정 일지록' 카테고리의 다른 글
ctrl + alt +Tab 을 Tilix 로 켜지도록 바꾸기 (0) | 2022.03.16 |
---|---|
[파이썬] DAY16 네트워크 계층 & 스레드 동작 제어 (0) | 2022.02.09 |
[파이썬] DAY14 Matplot (0) | 2022.02.07 |
[파이썬] DAY14 Numpy 전치 행렬 (0) | 2022.02.07 |
[파이썬] DAY14 파이참: open CV 환경 구축&새 프로젝트 생성 (0) | 2022.02.07 |