오늘은 파이썬으로 일차함수를 다루는 법에 대해 배워보도록 하겠습니다.
미지수가 포함된 식에서 그 미지수에 특정한 값을 주었을 때만 성립하는 등식입니다.
일차함수는 다항함수의 일종으로 최고 차수가 1이하인 다항 함수를 뜻합니다.
그래프로 표현할 때 직선인 함수들입니다.
input
a=[1,2,3,4,5]
b=['a','b']
c=['딸기','복숭아','참외']
list(zip(a,b,c))
output
[(1, 'a', '딸기'), (2, 'b', '복숭아')]
zip함수를 이용하여 각 배열에 같은 인덱스 값들을 모을 수 있습니다.
input
def my_zip(a,b):
if len(a)!=len(b):
print('두 입력값의 길이가 다릅니다.')
else:
n=len(a) # 자료수
c=[]
for i in range(n):
c.append((a[i],b[i])) # 리스트에 튜플 추가
return c
a=[1,2,3]
b=['a','b','c']
my_zip(a,b)
output
[(1, 'a'), (2, 'b'), (3, 'c')]
input
import matplotlib.pyplot as plt
x=1
y=2
plt.scatter(x,y) # 산점도, 좌표에 점을 출력
plt.show()
output
matplotlib 모듈을 이용하면 그래프를 그릴 수 있습니다.
python3 의 기준으로 pip3 install matplotlib 를 cmd에 입력하면 설치가 가능합니다
python3 이하는 pip install matplotlib 입니다.
input
x=[1,2,3,4,5]
y=[2,4,6,8,10]
plt.scatter(x,y) # 여러개의 점(point)들이 출력됨
plt.show()
output
scatter함수를 이용하여 한 번에 여러점도 입출력 가능합니다.
input
x=[1,2,3,4,5]
y=[2,4,6,8,10]
plt.scatter(x,y,s=100,c='r',alpha=0.5) # size, color, alpha 투명도
# 0.0 투명 ~ 1.0 불투명
plt.show()
output
scatter(사이즈, 색상, 투명도)로 여러가지 설정 또한 가능합니다..
input
x=[1,2,3,4,5]
y=[2,4,6,8,10]
plt.scatter(x,y)
plt.plot(x,y) # line
plt.show()
output
input
x=[1,2,3,4,5]
y=[2,4,6,8,10]
plt.plot(x,y,linewidth=4,alpha=0.5) # 선두께
plt.show()
output
plot 함수를 사용하여 (변수,변수,두께,투명도)조절이 가능합니다.
input
x=[1,2,3,4,5]
y=[2,4,6,8,10]
# 산점도와 선그래프 같이 출력
plt.scatter(x,y,c='g',s=100)
plt.plot(x,y,c='g',alpha=0.5)
plt.grid() # 그리드 표시
plt.show()
output
그래프의 배경에 선 또한 표시 가능합니다.
input
x=[1,2,3,4,5]
y=[2,4,6,8,10]
plt.scatter(x,y,c='g',s=100,label='dot graph')
plt.plot(x,y,c='g',alpha=0.5,label='line graph')
plt.legend(fontsize=20,loc=2) #loc 범례의 위치
plt.title('y=2x',fontsize=30) #그래프의 타이틀
plt.xlabel('sun light',c='y',fontsize=19) #x축 레이블
plt.ylabel('apple sweet',c='m',fontsize=30) #y축 레이블
plt.axvline(x=5,c='r',lw=10) # ax 축 vline 수직선, lw : linewidth
plt.axhline(y=2,c='b') # hline 수평선
plt.show()
output
mataplotlib 묘듈에는 여러가지 함수가 있으므로 각각 어떤 기능을 하는지 알면 원하는 형태의 그래프를 출력할 수 있습니다.
input
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(-10,10,1)
plt.figure(figsize=(5,10)) #그래프의 사이즈
for i in [0.5, 0, 2, 8]: #기울기
plt.plot(x, i*x, label=f'y={i}x')
plt.xticks(np.arange(min(x), max(x)+1, 1)) #x축의 눈금 범위
plt.grid()
plt.legend(fontsize=14,loc=8)
plt.show()
output
하나의 그래프에 여러가지 그래프 출력도 가능합니다.
이상으로 오늘은 일차함수 그래프 출력에 대해 배워 보았습니다. 그래프 출력은 데이터 산출 비교 등으로 여러가지에 많이 사용되기 때문에 꼭 필요한 기술이라고 생각합니다. 오늘도 고생하셨고,