1. Matplotlib
Matplotlib(맷플롯립)은 파이썬에서 2D 그래픽을 생성하는 데 사용되는 시각화 라이브러리로, 과학 및 엔지니어링 분야에서 널리 사용됩니다. 주로 선 그래프, 산점도, 막대 그래프 등을 그릴 수 있으며, 데이터 시각화에 활용됩니다. 한글에 대한 지원이 완벽하지 않지만 pandas와 연동이 용이합니다.
설치 : !pip install matplotlib
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt는 Matplotlib 라이브러리를 사용할 때 일반적으로 사용되는 명령문입니다. 이 명령문은 Matplotlib의 pyplot 모듈을 plt라는 별칭으로 가져오는 역할을 합니다. Matplotlib은 여러 모듈로 구성되어 있고, 그 중 pyplot 모듈은 간편한 그래픽 기능을 제공하는데 주로 사용됩니다.
plt.plot([1, 2, 3, 4]) # y값
plt.plot([1, 2, 3, 4], [1, 5, 10, 15]) # x, y값
첫번째 코드의 리스트의 값들은 y값들이며, x값은 자동으로 만들어줍니다.
x값을 안넣으면 자동으로 생성됩니다.
두번째 코드처럼 리스트 값을 둘다 넣어주면 x,y값 순서로 표를 생성합니다.
data = np.arange(1, 100)
plt.plot(data)
plt.show()
data1 = np.arange(1, 50)
plt.plot(data1)
data2 = np.arange(50, 100)
plt.plot(data2)
plt.show()
만약 두 개의 플롯을 별개의 그래프로 그리고 싶다면, plt.figure()를 사용하여 새로운 그림을 생성하면 됩니다.
data1 = np.arange(1, 50)
plt.plot(data1)
plt.figure() # 새로운 그림 생성
data2 = np.arange(50, 100)
plt.plot(data2)
plt.show()
# 여러개의 plot을 그리는 방법
subplot(row, column, no)
✔️ (*행에 *열, *번째)
data1 = np.arange(1, 50)
plt.subplot(2, 1, 1) # 2행에 1열, 1번째
plt.plot(data1)
data2 = np.arange(50, 100)
plt.subplot(2, 1, 2) # 2행에 1열, 2번째
plt.plot(data2)
plt.show()
data1 = np.arange(1, 50)
plt.subplot(1, 2, 1)
plt.plot(data1)
data2 = np.arange(50, 100)
plt.subplot(1, 2, 2)
plt.plot(data2)
plt.show()
# 1행 3열 subplot
data1 = np.arange(0,100)
plt.subplot(131) # = plt.subplot(1, 3, 1) 콤마 생략 가능
plt.plot(data1)
data2 = np.arange(0,100)
plt.subplot(1, 3, 2)
plt.plot(data2)
data3 = np.arange(0,100)
plt.subplot(1, 3, 3)
plt.plot(data3)
plt.show()
2. 스타일 옵션
✔️한글 사용을 위해 설치
!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf
plt.rc('font', family='NanumBarunGothic')
# 나눔바른고딕 폰트 사용.
plt.figure(figsize=(6,8)) # inch/ 가로,세로 사이즈
plt.plot([1,2,3], [1,2,3])
plt.plot([1,2,3], [2,4,6])
plt.title('제목', fontsize= 30)
plt.xlabel('x축', fontsize= 20)
plt.ylabel('y축', fontsize= 20, rotation=0) # rotation 걸면 제목 글씨 돌아감
plt.show()
plt.figure(figsize=(15,10))
plt.title('마커설정', fontsize = 30)
plt.plot(np.arange(10), np.arange(10), color='deepskyblue', marker='o', linestyle= '-.')
plt.plot(np.arange(10), np.arange(10)*2, color='deeppink', marker='v', linestyle= '--')
plt.plot(np.arange(10), np.arange(10)*3, color = 'gold', marker='*',linestyle='')
# 범례 - 기본위치는 왼쪽 상단
plt.legend(['10', '10*2', '10*3'], fontsize= 15, loc= 'lower right', ncol=3)
# 범위
plt.xlim(0, 12)
plt.ylim(0, 30)
# 축에 숫자 각도 틀기
plt.xticks(rotation=30)
plt.yticks(rotation=30)
# 격자 만들기
plt.grid()
plt.show()
x = ['파이썬', ' 데이터분석', '머신러닝', '딥러닝', '자연어처리','컴퓨터비전']
y = [95, 80, 75, 50, 40, 25]
plt.figure(figsize= (8, 5))
plt.title('AI 성적표', fontsize = 25)
plt.ylabel('수강생 점수')
plt.bar(x,y, alpha= 0.4, color = 'deeppink', width= 0.5) # align = 'edge'
plt.show()
x = ['파이썬', ' 데이터분석', '머신러닝', '딥러닝', '자연어처리','컴퓨터비전']
y = [95, 80, 75, 50, 40, 25]
plt.figure(figsize= (8, 5))
plt.title('AI 성적표', fontsize = 25)
plt.ylabel('수강생 점수')
plt.barh(x,y, alpha= 0.4, color = 'deepskyblue') # align = 'edge'
plt.show()
'데이터 분석' 카테고리의 다른 글
상권별 업종 밀집 통계 예제 (0) | 2023.12.23 |
---|---|
가상 쇼핑몰 데이터 예제 (0) | 2023.12.16 |
판다스3 (0) | 2023.12.08 |
판다스2 (0) | 2023.12.08 |
판다스1 (0) | 2023.12.05 |