티스토리 뷰
Python의 시각화 패키지 중 가장 기본 패키지인 Matplotlib을 활용해 데이터를 다양한 방법으로 시각화하는 방법을 공부해 보겠습니다.
1. 기본 그림
X축, Y축의 범위를 설정하고 각 축의 이름 달기
plt.rcParams['font.family']='Malgun Gothic' #matplotlib의 한글 깨짐 방지
plt.rcParams['axes.unicode_minus']=False
x = np.arange(10)
y = x+10
plt.plot(x,y)
plt.xlim([0,10])
plt.ylim([0,25])
plt.xlabel('X축')
plt.ylabel('Y축')
plt.show()
2. 그래프를 여러 개를 그리고 각각 색깔 지정하기
x = np.linspace(-np.pi, np.pi, 201)
y1 = np.sin(x)
y2 = np.cos(x)
fig, ax = plt.subplots(1,2, figsize=(8,3)) #2개의 그래프를 동일한 크기로 설정
ax[0].plot(x, y1, label='sin함수', color='#802929')
ax[1].plot(x, y2, label='cos함수', color='#6cbf2c')
plt.show()
3. lineplot
lineplot은 연속형 변수가 x축에 따라 어떤 추세를 가지고 있는지 파악할 때 유용합니다.
x = np.arange(-5,5,0.5)
y1 = x
y2 = x**2
y3 = np.sin(x)
y4 = np.cos(x)
plt.plot(x, y1)
plt.plot(x, y2, marker='D') #그래프 점을 설정
plt.plot(x, y3, color='r')
plt.plot(x, y4, linestyle='dashed') #선 스타일 설정
plt.show()
4. Barplot
Barplot은 범주형 변수에 대한 시각화를 할 때 유용합니다.
data = {'사과':21, '바나나':15, '배':5, '키위':20}
names = list(data.keys())
values = list(data.values())
colors=['y','r','b','C2']
fig, ax = plt.subplots(2,1)
ax[0].bar(names, values, color=colors, width=0.5) #색깔, 두께 지정
ax[1].barh(names, values, color=colors) #가로막대 그래프
plt.show()
5. Histogram
Histogram은 연속된 변수의 각 구간 별 빈도를 확인할 때 유용합니다.
data = np.random.rand(10000)
fig,ax = plt.subplots()
ax.hist(data, bins=100, facecolor='g') #구간을 100로 설정
plt.show()
6. Boxplot
Boxplot은 각 변수 별 분포를 나타날 때 유용하며 변수의 중위값, 이상치 등을 파악할 수 있다.
data = [np.random.normal(50,10,100),
np.random.normal(60,12,200),
np.random.normal(70,20,200)]
plt.boxplot(data,
notch=False, #중위수에 대한 노치 표시
patch_artist=True, #상자 색상 채우기
boxprops=dict(facecolor='lightblue', color='blue'), #상자 속성 설정
medianprops=dict(color='red', linewidth=2), #중앙값 속성 설정
whiskerprops=dict(color='blue', linewidth=3), #whisker(수염) 설정
capprops=dict(color='blue', linewidth=4)) #끝부분 캡 속성
plt.xticks([1,2,3], ['Dataset1', 'Dataset2', 'Dataset3'])
plt.ylabel(['Values'])
plt.show()
7. Piechart
Piechart는 각 변수가 차지하는 비율을 알아볼 때 유용합니다.
ratio = [34,32,16,18]
labels = ['Apple', 'Banana', 'Melon', 'Grapes']
explode=[0,0.1,0,0.1]
plt.pie(ratio, labels=labels,
autopct='%.1f%%', #표시될 숫자의 형태(소수점 아래 한 자리까지 표현)
counterclock=True, #시계방향으로 진행
explode=explode) #중간에 생기는 간격 explode
plt.show()
8. Scatterplot
Scatterplot은 두 개의 연속형 변수 간의 관계를 알아볼 때 유용합니다.
x = np.random.randn(50)
y = np.random.randn(50)
colors = np.random.randn(50)
sizes = 1000*np.random.randn(50)
plt.scatter(x, y,
c=colors, #마커색
s=sizes, #마커 크기
alpha=0.3, #마커 투명도
cmap='viridis', #컬러맵
edgecolors='red', #마커 테두리 색
linewidths=2 #마커 테두리 두께)
plt.show()
'Python' 카테고리의 다른 글
[프로그래머스] deque을 활용한 문제 풀이 (0) | 2025.02.03 |
---|---|
[프로그래머스] List 인덱싱을 활용한 문제 풀이 (1) | 2025.01.30 |
[프로그래머스] 가까운 수 (sorted함수 연습) (0) | 2025.01.23 |
[프로그래머스] 배열 회전시키기 (0) | 2025.01.21 |
[프로그래머스] 피자 나눠먹기 문제 모음 (0) | 2025.01.13 |
TAG
- seaborn #데이터시각화 #타이타닉
- python #프로그래머스 #겹치는선분의길이
- subquery #sql 코딩테스트
- html #javascript #구구단 출력
- python #deque #프로그래머스 #공 던지기 #문자열 계산하기 #코딩테스트
- 딥러닝 #오차역전파 #연쇄법칙 #계산그래프 #최적화
- python #프로그래머스 #리스트 #인덱싱
- #seq2seq #encoder #decoder #teacher forcing
- #tf idf
- randomforest #bagging #머신러닝 #하이퍼파라미터 튜닝
- 로지스틱 회귀 #오즈비 #최대우도추정법 #머신러닝
- 잘라서 배열로 저장하기 #2차원으로 만들기
- #opencv #이미지 연산 #합성
- ridge #lasso #정규화모델 #머신러닝
- rnn #딥러닝 #시계열 데이터 #장기의존성 문제
- #opencv #이미지 읽기 #이미지 제작 #관심영역 지정 #스레시홀딩
- 머신러닝 #xgboost #
- gan #생성자 #판별자 #적대적 신경 신경망 #딥러닝 #computer vision
- #물고기 종류별 대어 찾기 #즐겨찾기가 가장 많은 식당 정보 출력하기 #mysql #programmers
- #python #프로그래머스 #외계어사전 #itertools #순열과조합
- pca #주성분분석 #특이값분해 #고유값분해 #공분산행렬 #차원의 저주
- 자연어 처리 #정제 #정규표현식 #어간 추출 #표제어 추출
- 머신러닝 #project #classification #dacon
- nlp #토큰화 #nltk #konply
- #자연어 처리 #정수 인코딩 #빈도 수 기반
- #attention #deeplearning
- 프로젝트 #머신러닝 #regression #eda #preprocessing #modeling
- 파이썬 #시각화 #matplotlib
- 파이썬 #코딩테스트 #프로그래머스 #스택 #큐
- 머신러닝 #lightgbm #goss #ebf
글 보관함
최근에 올라온 글