비교적 최근인 2020년 자료를 사용해서 현재 다문화 청소년 현황 데이터를 #파이썬 을 사용해 #시각화 해보겠습니다.
청소년은 9세 ~ 24세 연령대를 의미하는데, 저는 다문화 청소년 수의 증감을 시각적으로 뚜렷한 비교를 위해 중/고등학교 재학생을 기준으로 그래프를 그려봤어요!
먼저 다문화 가구원 현황을 살펴볼까요?
#다문화가구원현황
통계청 인구총조사 중 다문화 가구 및 가구원 - 시군구 2015년에서 2020까지의 데이터를 사용해서 그래프를 그렸습니다.

import numpy as np
from matplotlib import font_manager, rc
import matplotlib.pyplot as plt
font_path = "C:/Windows/Fonts/NGULIM.TTF" #한글 글꼴 설정
font = font_manager.FontProperties(fname=font_path).get_name()
rc('font', family=font)
plt.figure(figsize=(8,8)) #그래프 크기
arra = np.array(list_df, dtype=np.int) #데이터 배열 만들기
#print(arra.shape) --(4,6)
x = [2015, 2016, 2017, 2018, 2019, 2020]
plt.ylim([0,total[-1]])
plt.bar(x,arra[0],color='green',label='내국인(출생)') #누적그래프
plt.bar(x,arra[1],color='red', bottom=arra[0],label='내국인(귀화)')
plt.bar(x,arra[2],color='y', bottom=sum(arra[0:2]),label='외국인(결혼이민자)')
plt.bar(x,arra[3],color='purple', bottom=sum(arra[0:3]),label='외국인(기타)')
plt.title("다문화 가구원", size = 20)
plt.legend(loc='lower right')
#그래프 텍스트 : 년도별 다문화 가구원 계
for i, v in enumerate(x):
plt.text(v, total[i], total[i], # 좌표 (x축 = v, y축 = y[0]..y[1], 표시 = y[0]..y[1])
fontsize = 13,
color='black',
horizontalalignment='center', # horizontalalignment (left, center, right)
verticalalignment='bottom') # verticalalignment (top, center, bottom)
plt.savefig("C:\Python_study\workspace\multiple_culture\다문화가구원.png") #이미지 저장
*총 가구원 수 - 막대그래프 맨위 표시
다문화 가구원의 구성은 다문화 가정에서 태어난 내국인(출생)과 외국인이 한국으로 귀화를 한 내국인(귀화), 결혼으로 인해 한국에 거주중인 외국인(결혼이민자), 어학연수 / 비즈니스 등으로 국내에 거주중인 외국인(기타)로 총 4개 항목으로 구분되어 있습니다.
다문화 가구원 수는 2015년 이래로 꾸준히 증가하는 추세며, 2019년 1,062,423명이며 2020년은 2.9% 증가하여 1,093,228명으로 나타났습니다. 2020년 내국인(출생)은 678,973명으로 가장 많은 비율을 차지했으며, 내국인(귀화) 197,730명, 외국인(결혼이민자) 173,104명, 외국인(기타) 4,341명 순으로 나타났습니다.
다음은 다문화 가정 중·고등학생에 대한 그래프를 살펴 보겠습니다.
#다문화중고등학생
(데이터는 교육통계서비스의 연도별 다문화 유형별 학생수를 사용)

%matplotlib inline # Rich output
high_school.plot(figsize=(8,8), title='다문화 가정 중학생',marker='o',label='연도')
plt.xlabel('연도')
plt.ylabel('학생수(명)')
plt.savefig("C:\Python_study\workspace\multiple_culture\중학생.png") #이미지저장

다문화 가정 중학생 그래프는 계, 국내출생, 중도입국, 외국인 가정으로 분류되어 있습니다.
다문화 가정 중학생 수는 모든 항목에서 2012년 이후로 꾸준히 증가하는 추세이며, 특히 #국내출생 은 다문화 중학생 중 가장 많은 비율을 차지하며 2018년 13,599명 이후로 2019년 15,891명, 2020년 19,532명, 2021년 25,368명으로 매년 2,000명 이상의 다문화 학생이 급격히 증가하고 있음을 알 수 있습니다.
또한 외국인 가정 중학생은 중도입국 중학생보다 적은 수를 기록하다 2016년도 이후로는 중도입국 중학생 수를 뛰어넘었으며, 2021년에는 중도입국 중학생 보다 3,036명 더 많은 5,809명을 기록했습니다.
#다문화가정고등학생


다문화 가정 고등학생 역시 전체 다문화 가정 고등학생 수에서 국내출생이 차지하는 비율이 가장 컸으며, 2021년 10,183명으로 처음으로 1만명대를 기록했습니다.
또한 2019년 이후로 외국인 가정 고등학생 수(1,550명)가 중도입국 고등학생 수(1,220명)를 넘어서게 되며, 2021년은 외국인 가정 2606명 중도입국 1519명으로 약 1.7배 차이가 나는것으로 나타났습니다.
#연도별다문화학생수와전체학생수

데이터출처-교육통계서비스
#이중축 그래프
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mat
mat.rcParams['font.family'] ='Gulim'
multi = pd.DataFrame({'연도':[2012,2013,2014,2015,2016,2017,2018,2019,2020],
'다문화 학생 수':[46954,55780,67806,82536,99186,109387,122212,137225,147378],
'전체 학생 수' : [6730467,6489349,6294148,6097297,5890949,5733132,5592792,5461614,5355832]
}) #데이터
plt.rcParams['figure.figsize'] = (5, 4)
plt.rcParams['font.size'] = 12
x = multi['연도']
y1 = multi['다문화 학생 수']
y2 = multi['전체 학생 수']
fig, ax1 = plt.subplots()
ax1.plot(x, y1, color='green',label='다문화학생수')
ax1.set_ylabel("다문화(명)")
ax2 = ax1.twinx()
ax2.plot(x, y2, color='deeppink',label='전체학생수')
ax2.set_ylabel("전체(백만 명)")
ax1.legend(loc='upper right')
ax2.legend(loc='upper left')
plt.title('연도별 다문화 학생수와 전체 학생수 ') #제목
#plt.show()
plt.savefig("C:\Python_study\workspace\multiple_culture\전체 학생_다문화학생.png")
연도별 다문화 학생수와 전체 학생수를 비교한 이중축 그래프입니다.
2016년 이후로 다문화 학생수가 전체 학새수를 뛰어 넘었으며, 전체 학생 수는 점점 감소하여 2020년 540 만명 이하를 기록했습니다.