Day31

김재현·2023년 7월 4일

JUPYTER/DL/ML

목록 보기
11/73

데이터 시각화 연습문제 풀이

문제1 - 선 그래프

x축의 간격을 10일로 설정하여 날짜별 종가와 시가 변화를 구현


  1. 하나의 그래프 설정에 plot 그래프를 2개 삽입
  2. 날짜를 10일 간격이라고 조건이 있기 때문에 x 좌표를 위한 list를 생성
    • 다만 10개 단위로 x에 표현하는 것은 xtick에서 구현
    • 그렇지 않으면 처음부터 10 단위로 좌표를 축력해 값이 변경됨
  3. 날짜 형식 정제
  4. 그래프 확인 후 가독성이 떨어진다면 임의로 날짜 간격 조절
    • 아니면 폰트 크기나 그래프 가로 크기 조절

문제2 - 막대 그래프

복지시설이 많은 상위 10개 지역에 대한 지역별 복지 시설 수를 시각화


  1. 복지시설 수의 내림차순 정렬 후 상위 10개를 추출

문제3 - 다중 막대 그래프

각 도시별로 2015년도의 2010년도의 인구수를 비교하는 자료를 시각화
단, 인구수의 표현 범위는 200만~1000만


  1. 연도별 데이터 추출
    • 데이터 전처리를 위해 피벗 테이블 생성
  2. numpy로 데이터 처리
  3. 시각화 설정 후 그래프 생성
    • 날짜와 같은 숫자 존재 시 dtypes로 확인 후 실시

문제4 - 다중 막대 그래프, pie 그래프

종사자 규모에 따른 업체 수를 확인할 수 있는 세로 막대 그래프를 구현하시오. 이 때 각 데이터의 범주는 년도로 설정

종사자 규모별 업체 수의 비율을 시각화 하시오. 2015년도와 2016년도에 대한 시각화 결과물이 각각(총 2개) 구현


  1. index별 데이터 추출
  2. numpy로 데이터 처리
  3. 시각화 설정 후 그래프 생성
  4. pie 그래프로 종사자 규모별 업체 수의 비율을 시각화
    • autopct를 사용해 퍼센트 단위를 표현

문제5 - 다중 막대 그래프

교통사고 발생건수와 부상자수의 상관관계를 알아보고자 한다.
적합한 시각화 결과물을 제시


  1. df를 사용해 각 변수(columns)의 데이터를 추출

추가 : numpy를 사용한 추세선 추가
기울기, 전편, 1차 식을 사용한 부상자수 예측과 ply1d를 사용한 고도화 예측
이후 선 그래프를 더해서 추사선을 생성(회귀분석)


진도

선, 막대 그래프는 별도의 설정이 없으면 변수(컬럼) 지정 없이 모든 변수 값을 출력

03-데이터프레임_시각화.ipynb 학습 및 실습

데이터프레임(DataFrame) 객체로 그래프 생성 시 plt.figure()를 실행해 필요가 없음

기본적으로 데이터프레임의 컬럼 이름이 label이 되지만 바꾸고 싶은 경우 plot() 메서드에 label 파라미터를 성정해 변경 가능

파이 그래프는 컬럼단위로 진행

04-서브플롯.ipynb

서브플롯 기본 형태

  • 서브플롯 생성
    fig, ax = plt.subplots(a,b)
  • 전체 제목 생성
    fig.suptitle("", fontsize, color)
  • 각 그래프의 가로(wspace), 세로(hspace) 간격 지정
    fig.subplots_adjust(wspace=, hspace=)
  • 그래프 시각화 및 종료
    plt.show()
    plt.close()

서브플롯에 그래프 그리기

  • 영역 생성(2행 2열)
    fig, ax = plt.subplots(2,2, figsize = (,))
  • 전체 제목
    fig.suptitle("", fontsize = , color = '')
  • 데이터프레임을 기반으로 각 영역에 그래프를 종류별로 표시
    -- df.plot(ax = ax[0][0]) #ax[0][0]은 선 그래프
    -- df.plot.bar(ax = ax[0][1]) #ax[0][1]은 막대 그래프
    -- df[""].plot.pie(ax = ax[1][0]) #ax[1][0]은 파이 그래프
    ""정보를 담은 pie 그래프
    -- df.plot.scatter(x='', y='', ax = ax[1][1]) #ax[1][1]은 산점도 그래프

서브플롯 영역에 옵션 지정하기

subplot을 사용해 다양한 옵션을 지정할 수 있다(명령어가 변경됨)

두 개의 y축을 갖는 그래프 생성

seaborn - 확장팩

index_col을 지정하지 않은 경우 x='해당 컬럼이름"을 주어지면 index 처럼 사용할 수 있다

산점도 그래프에서 regplot을 사용해 간단히 추세선 추출 가능
단, fit_reg=False 설정 시 추세선 제외

0개의 댓글