MapPlotlib
- 파이썬 기반의 시각화 라이브러리이며, pandas와 연동이 용이하다. 하지만 한글에 대한 지원이 완벽하지 않다.
# 설치
!pip install matplotlib
# MATLAB과 비슷하게 명령어 스타일로 동작하는 함수들의 모음
import matplotlib.pyplot as plt
- 그래프 만들기
더보기

결과

결과

결과

결과

결과
plt.plot([1, 2, 3, 4])
plt.show()

리스트의 값들은 y값이며, x값은 자동으로 만들어진다.
plt.plot([1, 2, 3, 4], [1, 5, 10, 15])
plt.show()
x값을 준다면 ...

x값에는 [1, 2, 3 ,4]가 들어가고, y값에는 [1, 5, 10, 15]가 들어가게 된다.
data = np.arange(1, 100)
plt.plot(data)
plt.show()
arrange로 값을 준다면 ...

x, y 값에 모두 100까지 적용된 것을 볼 수 있다.
data1 = np.arange(1, 50)
plt.plot(data1)
data2 = np.arange(50, 100)
plt.plot(data2)
plt.show()
서로 다른 arrange를 주게되면 ...

값의 따라 다른 그래프가 나온다. 하지만 서로 다른 테이블에서 나오지 않고 같은 테이블에서 나오게 된다.
그렇다면 여러 개의 plot을 그리는 방법을 알아보자.
subplot(행, 열, 번호)를 사용하여 나타내보자.
data1 = np.arange(1, 50)
plt.subplot(2, 1, 1)
plt.plot(data1)
data2 = np.arange(50, 100)
plt.subplot(2, 1, 2)
plt.plot(data2)
plt.show()

subplot(2, 1, 1) 안에 2는 행의 수를, 1은 열의 수를, 마지막 1은 테이블 번호이다. 즉 위 그래프에서는 행은 2개 열은 1개이기에 위, 아래로 나오게 되는 것이다. 만약 subplot(1, 2, 1) 이렇게 적용하였으면 행이 1개 열은 2개이기에 두 번째 그래프가 밑이 아닌 옆에 위치하게 될 것이다.
- 스타일 옵션
# 한글 fonts-nanum 설치
!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=30)
plt.show()

폰트를 적용시키면 한글로 나오게 된다.
- 마커설정
더보기

결과
plt.figure(figsize=(15, 10))
plt.title("마커설정", fontsize=30)
plt.plot(np.arange(10), np.arange(10), color="deepskyblue", marker='o', linestyle='-.', ms=10)
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)
plt.legend(["10", "10*2", "10*3"], fontsize=15, loc="lower right", ncol=3)
# x, y 축 범위를 늘려줌
plt.xlim(0, 15)
plt.ylim(0, 35)
# x, y 축 범위 text조정
plt.xticks(rotation=30)
plt.yticks(rotation=30)
# 격자 만들기
plt.grid()
plt.show()

- 막대그래프 만들기
더보기

결과

결과
x = ["파이썬", "데이터분석", "머신러닝", "딥러닝", "자연어처리", "컴퓨터비전"]
y = [95, 80, 75, 60, 55, 40]
plt.figure(figsize=(8, 5))
plt.title("AI 성적표", fontsize=25)
plt.ylabel("수강생 점수")
plt.bar(x, y, alpha=0.4, color="deeppink")
plt.show()

x = ["파이썬", "데이터분석", "머신러닝", "딥러닝", "자연어처리", "컴퓨터비전"]
y = [95, 80, 75, 60, 55, 40]
plt.figure(figsize=(8, 5))
plt.title("AI 성적표", fontsize=25)
plt.xlabel("수강생 점수")
plt.barh(x, y, alpha=0.4, color="deepskyblue")
plt.show()

'Python > 데이터분석' 카테고리의 다른 글
Python seaborn, folium, 상권별 업종 밀집 통계 데이터 (0) | 2024.05.28 |
---|---|
Python 가상 온라인 쇼핑몰 데이터 (0) | 2024.05.28 |
Python 넘파이(Numpy) (0) | 2024.05.22 |
Python 셀레니움 (0) | 2024.05.22 |
Python 크롤링 (0) | 2024.05.21 |