4. 시각화 도구) Matplotlib - 0531

Dazz_heyDay ·2023년 6월 5일
post-thumbnail

Matplotlib 그래프

1. 선 그래프 : line (default)


Matplotlib에서 사용할 수 있는 색의 종류

  • 색상, 헥스코드

    for name, hex in matplotlib.colors.cnames.items():
    -tab--]colors[name] = hex


2. 면적 그래프 : area

  • 각 열의 데이터를 선 그래프로 구현하는데 선 그래프와 x축 사이의 공간에 색이 입혀진다.
  • 색의 투명도 옵션 : alpha = 0.5(디폴트): 투명도(0~1)
  • plot() 메소드에 kind = 'area' 옵션 추가
  • stacked = True: 디폴트
    • 각 열의 선 그래프를 다른 열의 선 그래프 위로 쌓아 올리는 형식
  • stacked = False
    • 각 열의 선 그래프들이 누적되지 않고 서로 겹치도록 표시
    • 선 그래프를 동시에 화면에 여러 개 그린 것 같은 결과


<stacked = False>


(귀찮아서..폰트깨짐 수정 안했습니다..허허)

<누적 그래프 stacked=True>

<axes 객체 속성 변경하기>


3. 막대 그래프 : bar & barh

  • 데이터 값의 크기에 비례하여 높이를 갖는 직사각형 막대로 표현
  • 세로형 막대 : 시계열 데이터 표현 적합 plot(kind='bar')
  • 가로형 막대 : 각 변수 사이의 값의 크기 차이를 설명하는데 적합 plot(kind='barh')
  • 색상 설정 : plot(color=['orange','red','green','blue'])

<plot(kind = 'bar')>

예시1)

예시2)

<plot(kind = 'barh')>
예시1)

예시2)

<ascending = False : 내림차순 : 전치 했기 때문에 오름차순이 됨 >

<ascending = True(디폴트) : 오름차순 : 전치 했기 때문에 내림차순이 됨 >

보조 축 활용하기 (2개의 y축)

  • 보조 축을 추가해서 2개의 y축을 갖는 그래프를 그릴 수 있다.
  • 기존 축: 막대 그래프의 값을 표시
  • 추가 축: 선그래프로 북한 발전량의 전년 대비 증감률을 백분율로 표시




4. 히스토그램 : hist

  • 변수가 1개인 단변수 데이터의 빈도수를 그래프로 표현
  • x축을 같은 크기의 여러 구간으로 나누고 각 구간에 속하는 데이터 값의 개수를 y축에 표시
  • 구간의 간격의 크기에 따라서 빈도가 달라지며 히스토그램 모양이 변함
  • plot(kind='hist', bins=10) bins=10=> 구간 수: 10


5.산점도 : scatter

  • plot(kind = 'scatter')
  • 서로 다른 두 변수 사이의 관계를 나타냄
  • 각 변수는 연속된 값
  • 일반적으로 정수형 or 실수형
  • 2개의 연속변수를 x축,y축에 하나씩 놓고 데이터 값이 존재하는 (x,y)좌표를 찾아서 점으로 표현

버블차트

<3번째 변수로 실린더의 개수를 추가>

  • s 옵션 : 점의 크기를 정하는 옵션

  • cylinders_size 변수

  • 실린더 개수를 나타내는 정수를 쓰는 대신, 해당 열의 최대값 대비 상대적 크기를 나타내는 비율을 계산한 변수

  • 0~1범위의 실수 값의 배열(시리즈)

  • 점의 크기를 나타내는 s옵션에 cylinders_size를 입력하여 값의 크기에 따라 점의 크기를 다르게 표시

✅ 그래프를 그림파일로 저장하는 방법

savefig(저장하려는 파일경로 및 이름, transparent=True)

  • transparent 옵션: True=> 배경을 투명하게
plt.savefig("./scatter.png")
plt.savefig("./scatter_transparent.png", transparent=True)

colormap
:https://matplotlib.org/stable/tutorials/colors/colormaps.html

<marker 옵션으로 십자로 점 표현하기>


6. 파이차트 : pie

  • plot(kind = 'pie')


7. 박스플롯 : box

<박스플롯 5개의 통계지표>

<수직 박스 플롯 >

<수평 박스 플롯>

profile
Why.Not.Now

0개의 댓글