matplotlib는 python에서 그래프를 그려주는 라이브러리이다.
개발자가 원하는 데이터를 차트로 그려주는데, 종류로는 산점도, 막대그래프, 파이그래프, 히스토그램, 꺾은선 그래프 등 다양한 종류로 그릴 수 있다.
import를 통해 라이브러리를 받아와야한다.
import matplotlib.pyplot as plt
y = [2,12,6]
plt.plot(y)
#x좌표는 0부터 1씩 증가하며 자동 할당됨
plt.show()
# 위쪽에서 그렸던 plot(그래프) 들을 출력함

마지막에 show()를 해줘야 그래프가 출력 된다.
#x축, y축 설정해서 그려보기
x = [1,2,3]
y = [2,4,6]
plt.plot(x,y, ls=':', color = 'r', lw = 1, marker = 'D', mec='b', mfc='y', ms=15)
plt.show()



외우지 말고 그때그때 찾아서 하면 된다.
https://www.rapidtables.org/ko/web/css/css-color.html
x = np.arange(8)
y = [5,2,3,6,8,7,5,7]
plt.plot(x,y, ls=':', color = 'r', marker = '$♬$', ms = 8, mec='b')
# $표시 넣으면 원하는 이모지 넣을 수 있음
#그래프 숫자 표시 범위 지정(xlim, ylim)
#범위 지정해서 그래프 확대, 축소 출력 가능
plt.xlim(-2,10)
plt.ylim(-5, 12)
#그리드 그리기
plt.grid()
#눈금 출력하기
plt.yticks(y) #y데이터 표시
plt.xticks(x) #x데이터 표시
plt.show()

matplotlib의 한글이 깨지는 경우가 종종 있다.
이럴때는 encoding방식을 지정해줘야한다.
#한글 인코딩 하는 법 - matplotlib 한글이 깨졌을때
from matplotlib import rc
rc('font', family = 'Malgun Gothic')
#font : 폰트를 설정하겠다!
#family : 글꼴 집합이라는 의미로 글꼴명을 적어주면 됨
하나의 그래프만 그릴 수 있는 것은 아니다.
단순히 plt.plot()을 2번 작성하면 2개의 그래프가 겹쳐진다 ㅋㅋ
x = [2,3,4,5,6,7,8]
y1 = [5,7,3,9,1,8,6]
y2 = [9,5,7,2,3,7,1]
plt.plot(x, y1)
plt.plot(x, y2)
#x축 이름 설정
plt.xlabel('X축')
#y축 이름 설정
plt.ylabel('Y', rotation = 0)
plt.show()

# scatter 그래프 생성하기
df = pd.DataFrame(np.random.rand(800,4), columns=['a','b','c','d'])
plt.scatter(x = df['a'], y = df['b'], label = 'Group1', s=10, c='r')
plt.scatter(x = df['c'], y = df['d'], label = 'Group2', s=10)
plt.legend()
plt.show()
먼저, 랜덤 데이터 프레임을 생성하고 scatter 그래프의 좌표 를 지정해준다.
그 후 이름 출력해주면서 출력!
x = [0,1,2,3,4,5]
y = [80,95,70,60,50,90]
plt.bar(x, y, color = 'aqua')
plt.xlabel('스인개 반')
plt.ylabel('점수', rotation = 0)
#plt.text(x좌표, y좌표, 작성하고싶은 값)
plt.show()

부가적인 코드를 제외하고 실제 데이터만 가지고 그래프를 그리고자 한다면 아주 간단한 코드이다.
x = ['a','b','c','d','e','f']
y = [80,85,70,60,50,90]
plt.barh(x,y)
plt.show()

.plot() : 막대그래프
.scatter() : 산점도
.bar() : 막대그래프
.barh() : 수평막대그래프
.xlabel() : x축 이름
.ylabel() : y축 이름
.title() : 그래프 이름
.fiqure(figsize=()) : 그래프 사이즈
.ylim() : y축 범위