본문 바로가기
Data-driven Methodology/DS (Data Science)

[Data Science] 데이터 시각화 (2)

by goatlab 2022. 9. 22.
728x90
반응형
SMALL

히스토그램 (Histogram)

 

히스토그램 (Histogram)은 ‘변수가 하나인 데이터의 빈도수’를 그래프로 표현하는 것을 말한다. x축을 같은 크기의 여러 구간으로 나누고 각 구간에 속하는 데이터 값의 빈도를 y축에 표시한다. 구간을 나누는 간격의 크기에 따라 빈도와 히스토그램 모양이 변한다.

 

plt.bar(x, y, width, color)
(x = 범주, y = 그래프의 높이, width = 그래프 폭, color = 색상)
# 막대 그래프 그리기
x = ['사과', '포도', '딸기'] # 항목 데이터
y = [12, 31, 24] # 빈도(크기) 데이터

# 그래프 제목
plt.title("과일 생산량")

# 색상은 밝은 파랑, 그래프 폭은 0.5
plt.bar(x, y, color = "lightblue", width = 0.5)

# x축 제목
plt.xlabel("과일 종류")

# y축 제목
plt.ylabel("판매량")

# y축 범위 지정
plt.ylim(0, 40)

plt.show()

# 히스토그램 그리기
x = [18, 4, 10, 22, 19, -10, 10, -2, -1, 4, 1, 15, 8, 1, 4, 3, 15, -2, 3, - 9, -26, 7, 9, -7, 23, -15, 0, -2, 15, 15]

# 그래프 제목 지정
plt.title('히스토그램')

# 격자 출력
plt.grid(True)

# 히스토그램 설정, 계급 구간을 10으로 지정
plt.hist(x, bins = 10, color = 'lightgreen')

plt.show()

 

원 그래프 (Pie Chart)

 

파이 그래프는 범주별 구성 비율을 원형으로 표현한 그래프이다. 부채꼴의 중심각을 구성 비율에 비례하도록 표현한다.

 

  • labels : 각 항목의 이름을 지정
  • labeldistance : 레이블 표시 거리 설정
  • explode : 각 항목을 파이의 원점 (중심점)에서 튀어나온 정도 설정
  • colors : 각 항목의 색을 지정
  • shadow : 그림자 표시 여부 설정
  • autopct : 각 항목의 퍼센트를 표시
  • pctdistance : 퍼센트 표시 거리 설정
  • radius : 파이의 반지름 설정
  • Startangle : 반시계 방향으로 각도 설정
  • wedgeprops : 파이 가장자리 속성 설정
  • textprops : 레이블 속성 설정
plt.pie(y, labels, autopct, colors, shadow)
(y=데이터, labels=항목, autopct=파이 조각 백분 colors=파이 조각의 컬러, shdow=그림자 효과)
# 원 그래프 그리기
x = ['사과', '포도', '딸기', '참외'] # 항목 데이터
y = [12, 31, 24, 46] # 비율 데이터

# 항목별 컬러 지정
colors = ['coral', 'cornsilk', 'pink', 'aqua']

# 파이 차트 제목
plt.title("원 그래프")

# 그래프 설정
plt.pie(y, labels = x, autopct = '%1.1f%%', colors = colors, shadow = True)

plt.show()

# 원 그래프 그리기
x = ['사과', '포도', '딸기', '참외'] # 항목 데이터
y = [12, 31, 24, 46] # 비율 데이터

# 항목별 컬러 지정
colors = ['coral', 'cornsilk', 'pink', 'aqua']

# 파이 차트 제목
plt.title("원 그래프")

# 사과가 튀어 나오도록 설정
plt.pie(y, labels = x, autopct = '%1.1f%%', explode = (0.1, 0, 0, 0), colors = colors, shadow = True)

plt.show()

 

박스 plot

 

박스 플롯의 정확한 명칭은 상자 수염 그림 (box-and-whisker plot)이다. 존 터키 (John W. Tukey)가 데이터 분포를 표현하기 위한 시각적 방법 으로 만든 탐색적 그래프이다.

 

  • 최소값 : 제 1사분위에서 1.5 IQR (Inter Quartile Range)을 뺀 위치이다.
  • 제 1사분위 (Q1) : 25% 위치 값
  • 제 2사분위 (Q2) : 50%의 위치로 중앙값 (median) 값
  • 제 3사분위 (Q3) : 75%의 위치를 의미한다.
  • 최대값 : 제 3사분위에서 1.5 IQR을 더한 위치이다.
x = [55, 60, 63, 67, 70, 74, 78, 66, 64, 73, 106]

plt.boxplot(x, sym = "bo", vert = 1)

plt.show()

# 산점도와 선 그래프 함께 그리기
height = [155, 160, 163, 167, 170, 174, 178, 182, 186, 190] # 키 데이터
weight = [44, 46, 48, 50, 57, 62, 70, 74, 79, 82] # 몸무게 데이터

plt.title("산점도 선 그래프")
plt.xlabel("몸무게")
plt.ylabel("키")

# 그래프 그리기, 컬러 적색, 선 두께 3
plt.plot(weight, height, color = "red", lw = 3, zorder = 1)

# 산점도, 파란색, 크기 100, 맨 앞으로
plt.scatter(weight, height, color = "blue", s = 100, zorder = 2)

plt.show()

728x90
반응형
LIST