본문 바로가기

python 시작하기

Python 데이터 시각화 (2)

728x90
반응형

자 여러분 이어서 공부 해봅시다.

이번 포스팅에서는 막대그래프부터 파이차트까지 학습해봅시다.

 

막대그래프그리기 

  • plt.bar(x 축값, y 축값, [옵션])
    • width : 막대의 너비를 설정합니다. 기본값은 0.8
    • bottom : 막대가 시작하는 y축 위치를 설정
    • align : 막대의 정렬 방식 'center' or 'edge'
    • color : 막대의 색상을 설정 단일 색상 문자열이나 색상 배열을 사용
    • edgecolor : 막대 테두리의 색상을 설정
    • label : 범례에 사용할 텍스트를 지정
    • alpha : 0~1까지의 가중치로 투명도를 정함
  • plt.xticks(x값, 눈금값)
  • plt.yticks(y값, 눈금값)

 

간단하게 막대 그래프를 그려봅시다.

- x 축 [2024, 2025 ,2026]

- y 축 [40, 20 ,10]

- x,y 눈금을 표시하십시오.

- 너비는 0.5, 중간 정렬, 색상은 초록색, 검은색, 보라색 순으로 설정하십시오

- 범례는 bar sample로 설정하십시오

 

네 우리는 이제 수직 막대기에 대해서는 얼만든지 그릴 수 있게 되었습니다.

근데 만약에 여러분의 상사나 의뢰주가 

" 아 저희는 수직보다는 수평막대가 좋아요" 할 수도있기 때문에 이번에는 수평 막대를 그려보도록 하겠습니다.

 

지금 그림 막대 그대로 bar에서 barh로  바꿔 봅시다

barh(y축값, x축값, [옵션])

 

간단하죠. 다만 barh에서 너비는 사용할 수 없으니 주의하시길 바랍니다.

 

히스토그램

  • 데이터의 분포를 시각적으로 분석할 때 사용
  • 특정값들이 얼마나 자주 발생하는지(빈도)를 구간별로 나타내는 데 적합
    • 통계 분석 : 시험 점수, 매출 데이터 분포
    • 의료 데이터 분석 : 환자의 혈압이나 체온 분포
    • 경제 데이터 분석 : 주택 가격, 소득 분포
    • 환경 데이터 분석 : 온도, 습도 등의 측정값 분포

히스토그램 그래프 그리기

  • plt.hist(배열, [옵션값])
    • bins : 데이터를 나눌 구간 수 또는 구간 경계를 지정(정수: 기본10), 배열: 구간 경계를 명시적으로 지정 (예: bins=5 or bins = [1,2,3,4,5])
    • range : 히스토그램 구간의 최소값과 최대값을 지정 (예: range=(1.5))
    • density : True로 설정하면 빈도 대신 확률 밀도를 표시, 확률 밀도는 각 구간의 면적 합이 1이 되도록 조정된 값
    • cumulative : True로 설정하면 누적 히스토그램을 생성 (예: 각 구간까지의 합계)
    • histtype : 히스토그램의 스타일을 지정합니다.
      • bar : 기본 막대 그래프
      • barstacked : 스택된 막대 그래프
      • step : 계단 그래프
      • stepfilled : 채워진 계단 그래프

간단하게 그려봅시다.

<단일데이터>
<여러개의 데이터 비교>

 

산점도 그리기

  • 산점도 란? : 데이터가 점의 형태로 퍼져있는 그래프를 말함
  • plt.scatter(x, y, s=None, maker = None, cmap=None, alpha=None)
    • s : size(기본값 20)
    • c : color (단일색상 또는 배열사용)
    • cmap : 색상 배열을 사용할 때 컬러맵을 지정
      • viridls, plasma, inferno, coolwarm

간단하게 그려보기

<기본적인 산점도>
<random을 통해 실무에서 나오는 산점도 경향의 예>

 

파이차트 그리기

  • 파이차트 : 흔히 도넛형 그래프로 파이처럼 생겼다고 해서 파이 그래프라고 불립니다.
  • plt.pie(x, [옵션])
    • labels : 각 섹션의 이름을 정의 ['A', 'B', 'C'] 처럼 문자열 리스트
    • colors : 각 섹션의 색상을 지정
    • autopct : 섹션의 비율을 차트에 표시 '%1.1f%%' 형식으로 전달하면 소수점 한 자리까지 비율을 표시함
    • startangle : 시작 각도를 설정, 기본값은 0도, (예를 들어 90을 주면 위쪽에서 시작)
    • explode : 특정 섹션을 강조하기 위해 섹션을 중심에서 떨어뜨림. [0.1, 0, 0, 0]처럼 배열로 전달합니다.
    • shadow : 파이 차트에 그림자를 추가(True 또는 False)
    • radius : 파이 차트의 반지름의 크기를 설정. (기본값은 1.0)
    • textprops : 텍스트 스타일을 설정하는 데 사용 (예: {'fontsize' : 12, 'color' : blue})
    • counterclock : 섹견이 시계 반대방향으로 그려질지 결정 (True or False)
    • wedgeprops : 각 섹션의 테두리 속성을 설정 (예:{'edgecolor' : 'black', 'linewidth' : 2})

간단하게 그려봅시다.

 

보통 강조는 0.1정도만 주어도 충분히 구분이 될정도로 강조 됩니다. 만약에 2개이상의 값을 강조해야 한다면 0.1, 0.2,0.3

이 정도로 하시거나 0.1로 통일하는 것이 그래프에서 크게 벗어나지 않고 가시성이 좋습니다.

 

위 처럼 colors와 labels와 같이 긴배열은 코드 밖에서 먼저 설정하시고 대입시키는 것이 코드를 작성하는 입장이나, 읽는 입장이나 둘다 편한 코드로 작성할 수 있습니다.

어 근데 우리가 생각하는 도넛 그래프는 이런 것이 아니죠?

 

가운데가 뻥 뚤려 있어야죠 그럴때는 이제

wedgeprops{"width" : 가중치})

 

네 여기까지 Matplotilib에 대해서 알아 보았습니다. 간단한 과제들과 함께 다음 포스팅

Seaborn에 대해서 알아 보겠습니다. (솔직히 그래프는 이 seaborn이 편해요 진짜)

 

과제 (막대 그래프 그리기)

  • 다음 데이터를 가지고 결과와 같은 막대그래프를 그리시오.
  • categories = ['Category1', 'Category2', 'Category3', 'Category4', 'Category5']
  • data = [20, 35, 15, 27, 45]
  • x, y축 라벨 표시
  • title 설정
  • 그리드 표시 투명도 0.5
  • x축 눈금 45도 회전 시키기

과제 (도넛 그래프 그리기)

  • 다음 데이터를 가지고 결과와 같은 막대그래프를 그리시오.
  • fruits = ['Apple', 'Banana', 'Melon', 'Grapes']
  • data = [34, 32, 16, 18]
  • 도넛 형식으로 그릴 것
  • Banana 와 Grapes를 강조하십시오.

해답 예시 코드는 하루코딩에 올려 놓겠습니다 :-)

오늘도 같이 공부하시느라 수고 많으셨습니다!!!!!!

반응형

'python 시작하기' 카테고리의 다른 글

python OPEN CV를 활용하여 이미지를 저장해보자!  (0) 2025.01.08
python seaborn을 이용한 데이터 시각화  (0) 2024.12.18
Python 데이터 시각화  (1) 2024.12.16
python Pandas  (2) 2024.12.15
Python Numpy  (4) 2024.12.14