데이터를 그래프로 표현하면 특징을 쉽게 이해할 수 있음. 이 장에서는 그래프를 만드는 방법을 익힘.
08-1 파이썬으로 만들 수 있는 그래프 살펴보기
데이터를 보기 쉽게 그림으로 표현한 것을 그래프(graph)라고 함. 데이터 원자료나 통계표는 수많은 숫자와 문자로 구성되어 있어 내용을 파악하기 어려움. 데이터를 그래프로 표현하면 추세와 경향성이 드러나기 때문에 특징을 쉽게 이해할 수 있고, 그래프를 만드는 과정에서 새로운 패턴을 발견하기도 함. 특히 분석 결과를 발표할 때 그래프를 활용하면 데이터의 특징을 잘 전달할 수 있음.
파이썬으로 어떤 그래프를 만들 수 있을까?
파이썬을 이용하면 다양한 그래프를 만들 수 있음. 파이썬에는 2차원 그래프뿐만 아니라 3차원 그래프, 지도 그래프, 네트워크 그래프, 시간에 따라 움직이는 모션 차트, 마우스 조작에 반응하는 인터랙티브 그래프 등 그래프를 만들 수 있는 다양한 패키지가 있음.
그래프를 쉽게 만들 수 있는 seaborn 패키지
seaborn은 그래프를 만들 때 많이 사용하는 패키지 임. seaborn을 이용하면 쉽고 간결한 코드로 아름다운 그래프를 만들 수 있음. 이 장에서는 데이터를 분석할 때 가장 많이 이용하는 산점도, 막대 그래프, 선 그래프, 상자 그림을 만드는 방법을 알아보겠음.
08-2 산점도 – 변수 간 관계 표현하기
데이터를 x축과 y축에 점으로 표현한 그래프를 산점도(scatter plot)라고 함. 산점도는 나이와 소득처럼 연속값으로 된 두 변수의 관계를 표현할 때 사용함.
[Do it! 실습] 산점도 만들기
산점도를 만들어 보겠음. 먼저 그래프를 만들어 사용할 mpg 데이터를 불러옴.
import pandas as pd
mpg = pd.read_csv('mpg.csv')
sns.scatterplot()을 이용하면 산점도를 만들 수 있음. data에 그래프를 그리는 데 사용할 데이터 프레임을 입력하고, x축과 y축에 사용할 변수를 ''를 이용해 문자 형태로 입력하면 됨. 다음 코드를 실행하면 mpg 데이터의 displ(배기량) 변수를 x축에, hwy(고속도로 연비) 변수를 y축에 놓고 산점도를 만듬.
# x축은 displ, y축은 hwy를 나타낸 산점도 만들기
import seaborn as sns
sns.scatterplot(data = mpg, x = 'displ', y = 'hwy')
축 범위 설정하기
축은 기본적으로 최솟값에서 최댓값까지 모든 범위의 데이터를 표현하도록 설정되어 있음. 데이터 전체가 아니라 일부만 표현하고 싶을 때 축 범위를 설정하면 됨.
축 범위는 sns.set()의 xlim과 ylim을 이용해 설정할 수 있음. 먼저 xlim을 이용해 x축 범위를 3~6으로 제한하겠음. xlim = (3, 6)처럼 축이 시작되는 값과 끝나는 값을 괄호 안에 쉼표로 나열하면 됨. 다음 코드를 실행하면 x축을 3~6으로 제한해 그래프를 출력함.
# x축 범위를 3~6으로 제한
sns.scatterplot(data = mpg, x = 'displ', y = 'hwy') \
.set(xlim = (3, 6))
같은 방식으로 ylim을 이용해 y축 범위를 제한할 수 있음. 다음 코드를 실행하면 y축을 10~30으로 제한해 그래프를 출력함.
# x축 범위 3~6, y축 범위 10~30으로 제한
sns.scatterplot(data = mpg, x = 'displ', y = 'hwy') \
.set(xlim = (3, 6), ylim = (10, 30))
종류별로 표식 색깔 바꾸기
hue를 이용하면 표식(marker)의 색깔을 종류별로 바르게 표현할 수 있음. 다음 코드를 실행하면 drv(구동 방식)에 따라 표식의 색깔을 다르게 표현한 산점도를 출력함.
# drv별로 표식 색깔 다르게 표현
sns.scatterplot(data = mpg, x = 'displ', y = 'hwy', hue = 'drv')
{알아 두면 좋아요} 그래프 활용하기
그래프를 이미지 파일로 저장하기
그래프에 마우스 커서를 올리고 [Shift] + 마우스 오른쪽 클릭한 다음 <이미지를 다른 이름으로 저장>을 클릭하면 그래프를 이미지로 저장함. <이미지 복사>는 그래프를 메모리에 저장하는 기능임. 이 버튼을 클릭한 다음 엑셀, 파워포인트 등 다른 프로그램에서 붙여넣기를 하면 그래프가 삽입됨.
그래프 설정 바꾸기
다음 코드를 실행하면 그래프 설정을 바꿀 수 있음.
import matplotlib.pyplot as plt
plt.rcParams.update({'figure.dpi' : '150'}) # 해상도, 기본값 72
plt.rcParams.update({'figure.figsize' : [8, 6]}) # 가로, 세로 크기, 기본값 [6, 4]
plt.rcParams.update({'font.size' : '15'}) # 글자 크기, 기본값
plt.rcParams.update({'font.family' : 'Malgun Gothic'}) # 폰트, 기본값 sans-serif
여러 요소를 한 번에 설정하려면 {}에 설정값을 나열하면 됨.
plt.rcParams.update({'figure.dpi' : '150',
'figure.figsize' : [8, 6],
'font.size' : '15',
'font.family' : 'Malgun Gothic'})
그래프에 한글 표현하기
한글이 들어 있는 변수로 그래프를 만들면 글자가 깨져서 알아볼 수 없음. 맑은 고딕(Malgun Gothic)과 같은 한글 폰트로 설정을 바꾼 다음 그래프를 출력하면 한글이 잘 표현됨.
tip) 맥 사용자는 'Malgun Gothic' 대신 'AppleGothic'을 입력하면 됨.
설정 되돌리기
설정한 내용은 JupyterLab을 새로 실행하거나 커널을 새로 실행하면 원래대로 돌아감. JupyterLab이나 커널을 개로 실행하지 않고 설정을 되돌리려면 다음 코드를 실행하면 됨.
# 모든 설정 되돌리기
plt.rcParams.update(plt.rcParamsDefault)
설명 메시지 숨기기
그래프 출력 코드 뒤에 ;를 입력하면 <AxesSubplot...으로 시작하는 설명 메시지가 출력되지 않음.
sns.scatterplot(data = mpg, x = 'displ', y = 'hwy');
{혼자서 해보기} mpg 데이터와 midwest 데이터를 이용해 분석 문제를 해결해 보세요.
Q1. mpg 데이터의 cty(도시 연비)와 hwy(고속도로 연비) 간에 어떤 관계가 있는지 알아보려고 함. x축은 cty, y축은 hwy로 됨 산점도를 만들어 보자.
sns.scatterplot(data = mpg, x = 'cty', y = 'hwy')

Q2. 미국 지역별 인구통계 정보를 담은 midwest.csv를 이용해 전체 인구와 아시아인 인구 간에 어떤 관계가 있는지 알아보려고 함. x축은 poptotal(전체 인구), y축은 popasian(아시아인 인구)으로 된 산점도를 만들어 보자. 전체 인구는 50만 명 이하, 아시아인 인구는 1만 명 이하인 지역만 산점도에 표시되게 설정해보자.
midwest = pd.read_csv('midwest.csv')
sns.scatterplot(data = midwest, x = 'poptotal', y = 'popasian') \
.set(xlim = (0, 500000), ylim = (0, 10000))

08-3 막대 그래프 – 집단 간 차이 표현하기
막대 그래프(bar chart)는 데이터의 크기를 막대의 길이로 표현한 그래프임. 성별 소득 차이처럼 집단 간 차이를 표현할 때 막대 그래프를 자주 사용함.
[Do it! 실습] 평균 막대 그래프 만들기
평균 막대 그래프는 평균값의 크기를 막대 길이로 표현한 그래프임. 여러 집단의 평균값을 비교할 때 평균 막대 그래프를 사용함. mpg 데이터를 이용해 drv(구동 방식)별 hwy(고속도로 연비) 평균을 나타낸 막대 그래프를 만들어 보겠음.
1. 집단별 평균표 만들기
평균 막대 그래프를 만들려면 집단별 평균값을 담은 데이터 프레임이 필요함. pandas를 이용해 ‘구동 방식별 고속도로 연비 평균’을 담은 데이터 프레임을 만들겠음.
df_mpg = mpg.groupby('drv') \
.agg(mean_hwy = ('hwy', 'mean'))
df_mpg
앞의 코드의 출력 결과를 보면 집단을 나타낸 변수 drv가 인덱스로 바뀌어 mean_hwy보다 아래에 표시되어 있음. seaborn으로 그래프를 만들려면 값이 변수에 담겨 있어야 함. 변수를 인덱스로 바꾸지 않고 원래대로 유지하려면 df.groupby()에 as_index = False를 입력하면 됨.
df_mpg = mpg.groupby('drv', as_index = False) \
.agg(mean_hwy = ('hwy', 'mean'))
df_mpg
2. 그래프 만들기
앞에서 만든 데이터 프레임을 이용해 막대 그래프를 만들겠음. sns.barplot()을 이용하면 막대 그래프를 만들 수 있음. data에 데이터 프레임을 지정한 다음 x축에 범주를 나타낸 변수, y축에 평균값을 나타낸 변수를 지정하면 됨. 다음 코드를 실행하면 drv별 hwy 평균을 나타낸 막대 그래프를 출력함.
sns.barplot(data = df_mpg, x = 'drv', y = 'mean_hwy')
3. 크기순으로 정렬하기
막대 정렬 순서는 그래프를 만드는데 사용한 데이터 프레임의 행 순서에 따라 정해짐. 앞에서 출력한 그래프를 보면 drv 막대에 df_mpg와 마찬가지로 4, f, r 순으로 정렬되어 있음. 그래프를 만들기 전에 df.sort_values()를 이용해 데이터 프레임을 내림차순으로 정렬해 놓으면 막대를 크기순으로 정렬할 수 있음.
# 데이터 프레임 정렬하기
df_mpg = df_mpg.sort_values('mean_hwy', ascending = False)
# 막대 그래프 만들기
sns.barplot(data = df_mpg, x = 'drv', y = 'mean_hwy')
[Do it! 실습] 빈도 막대 그래프 만들기
빈도 막대 그래프는 값의 빈도(개수)를 막대 길이로 표현한 그래프임. 여러 집단의 빈도를 비교할 때 빈도 막대 그래프를 자주 사용함. mpg 데이터를 이용해 drv별 빈도를 나타낸 막대 그래프를 만들어 보겠음.
1. 집단별 빈도표 만들기
빈도 막대 그래프를 만들려면 집단별 빈도를 담은 데이터 프레임이 필요함. df.agg()에 빈도를 구하는 함수 count()를 적용해 ‘구동 방식 별 빈도’를 담은 데이터 프레임을 만들겠음.
# 집단별 빈도표 만들기
df_mpg = mpg.groupby('drv', as_index = False) \
.agg(n = ('drv', 'count'))
df_mpg
2. 그래프 만들기
앞에서 만든 데이터 프레임을 sns.barplot()을 적용해 막대 그래프를 만들겠음. 다음 코드를 실행하면 drv별 빈도를 나타낸 막대 그래프를 출력함.
# 막대 그래프 만들기
sns.barplot(data = df_mpg, x = 'drv', y = 'n')
sns.countplot()으로 빈도 막대 그래프 만들기
sns.barplot() 대신 sns.countplot()을 이용하면 df.groupby()와 df.agg()를 이용해 집단별 빈도표를 만드는 작업을 생략하고 원자료를 이용해 곧바로 빈도 막대 그래프를 만들 수 있음. 다음 코드를 실행하면 mpg 원자료로 drv별 빈도를 구하는 막대 그래프를 만들어 출력함.
# 빈도 막대 그래프 만들기
sns.countplot(data = mpg, x = 'drv')
앞에서 만든 두 그래프 x축 순서가 다름. sns.barplot()로 만든 그래프는 x축 순서가 4, f, r인 반면 sns.countplot()로 만든 그래프는 f, 4, r임. 이는 sns.barplot()에 사용한 df_mpg와 sns.countplot()에 사용한 df의 drv 값 순서가 다르기 때문임.
데이터 프레임에서 변수의 값 순서는 데이터 프레임에 입력된 행 순서를 따름. mpg의 drv는 0~6행이 f, 7~17행이 4, 18~27행이 r로 되어 있으므로 값의 순서는 f, 4, r임. 변수의 고유값을 출력하는 unique()를 이용하면 값의 순서를 알 수 있음.
mpg['drv'].unique()
# output: array(['f', '4', 'r'], dtype=object)
반면 df_mpg의 drv는 값의 순서가 알파벳순으로 되어 있음. groupby()를 이용해 데이터 프레임을 요약하면 값의 순서가 알파벳순으로 바뀌기 때문
df_mpg['drv'].unique()
# output: array(['4', 'f', 'r'], dtype=object)
막대 정렬하기
sns.countplot()으로 만든 그래프의 막대를 정렬하려면 order에 원하는 순서로 값을 입력하면 됨.
# 4, f, r 순으로 막대 정렬
sns.countplot(data = mpg, x = 'drv', order = ['4', 'f', 'r'])
sns.countplot()의 mpg['drv'].value_counts().index를 입력하면 drv의 빈도가 높은 순으로 막대를 정렬함. mpg['drv'].value_counts().index는 빈도가 높은 순으로 변수의 값을 출력하는 기능을 함.
# drv의 값을 빈도가 높은 순으로 출력
mpg['drv'].value_counts().index
# output: Index(['f', '4', 'r'], dtype='object', name='drv')
# drv 빈도 높은 순으로 막대 정렬
sns.countplot(data = mpg, x = 'drv',
order = mpg['drv'].value_counts().index)
{혼자서 해보기} mpg 데이터를 이용해 분석 문제를 해결해 보세요.
Q1. 어떤 회사에서 생산한 'suv' 차종의 도시 연비가 높은지 알아보려고 함. 'suv' 차종을 대상으로 cty(도시 연비) 평균이 가장 높은 회사 다섯 곳을 막대 그래프로 표현해 보자. 막대는 연비가 높은 순으로 정렬하자.
df_mpg = mpg.query('category == "suv"') \
.groupby('manufacturer', as_index = False) \
.agg(mean_cty = ('cty', 'mean')) \
.sort_values('mean_cty', ascending = False) \
.head()
sns.barplot(data = df_mpg, x = 'manufacturer', y = 'mean_cty')

Q2. 자동차 중에 어떤 category(자동차 종류)가 많은지 알아보려고 함. sns.barplot()을 이용해 자동차 종류별 빈도를 표현한 막대 그래프를 만들어 보자. 막대는 빈도가 높은 순으로 정렬하자.
df_mpg = mpg.groupby('category', as_index = False) \
.agg(n = ('category', 'count')) \
.sort_values('n', ascending = False)
sns.barplot(data = df_mpg, x = 'category', y = 'n')

08-4 선 그래프 – 시간에 따라 달라지는 데이터 표현하기
데이터를 선으로 표현한 그래프를 선 그래프(line chart)라고 함. 시간에 따라 달라지는 데이터를 표현할 때 선 그래프를 자주 사용함. 예를 들어 환율, 주가지수 등 경제 지표가 시간에 따라 변하는 양상을 선 그래프로 표현할 수 있음.
일별 환율처럼, 일정 시간 간격을 두고 나열된 데이터를 시계열 데이터(time series data)라 하고, 시계열 데이터를 선으로 표현한 그래프를 시계열 그래프(time series chart)라고 함.
[Do it! 실습] 시계열 그래프 만들기
economics 데이터를 이용해 시계열 그래프를 만들어 보겠음. economics는 미국의 여러 가지 경제 지표를 월별로 나타낸 데이터임. economics를 이용해 시간에 따라 실업자 수가 어떻게 변하는지 나타낸 시계열 그래프를 만들겠음.
# economics 데이터 불러오기
economics = pd.read_csv('economics.csv')
economics.head()
sns.lineplot()을 이용하면 선 그래프를 만들 수 있음. x축에는 시간을 나타내는 date, y축에는 실업자 수를 나타내는 unemploy를 지정해 선 그래프를 만들겠음.
sns.lineplot(data = economics, x = 'date', y = 'unemploy')
출력된 그래프를 보면 x축에 굵은 선이 표시되어 있음. date 변수에는 '1967-07-01'처럼 '연월일'을 나타내는 문자가 담겨 있는데, 이 값이 x축에 가로로 여러번 겹쳐 표시되어서 굵은 선으로 보이는 것임.
x축에 연도 표시하기
x축에 연도가 표시되도록 설정하겠음. x축에 연도를 표시하려면 먼저 변수 타입을 날짜 시간 타입(datatime64)으로 바꿔야 함. 지금은 economics 데이터의 date가 문자(odject) 타입으로 되어 있음.
(1) 날짜 시간 타입 변수 만들기
pd.to_datetime()을 이용하면 변수의 타입을 날짜 시간 타입으로 바꿀 수 있음. 다음 코드를 실행하면 economics에 날짜 시간 타입으로 된 변수 date2를 추가함.
# 날짜 시간 타입 변수 만들기
economics['date2'] = pd.to_datetime(economics['date'])
# 변수 타입 확인
economics.info()
변수의 타입을 날짜 시간 타입으로 바꾸더라도 값이 달라지지 않음. 다음 코드의 출력 결과를 보면 두 변수의 값이 같음.
economics[['date', 'date2']]
변수가 날짜 시간 타임으로 되어 있으면 df.dt를 이용해 연, 월, 일을 추출할 수 있음.
# 연 추출
economics['date2'].dt.year
# 월 추출
economics['date2'].dt.month
# 일 추출
economics['date2'].dt.day
(2) 연도 변수 만들기
economics에 연도를 나타낸 변수 year를 추가하겠음.
# 연도 변수 추가
economics['year'] = economics['date2'].dt.year
economics.head()
(3) x축에 연도 표시하기
연도를 나타낸 변수를 sns.lineplot()의 x에 입력하면 x축에 연도가 표시됨.
# x축에 연도 표시
sns.lineplot(data = economics, x = 'year', y = 'unemploy')
선 아래에 표시된 면적은 신뢰구간(confidence interval)임. 신뢰구간을 표시하지 않으려면 ci = None을 입력하면 됨.
# 신뢰구간 제거
sns.lineplot(data = economics, x = 'year', y = 'unemploy', ci = None)
출력된 그래프를 보면 실업자 수가 약 5년 주기로 등락을 반복하고, 2005년부터 급격하게 증가했다가 2010년부터 다시 감소하는 추세라는 것을 알 수 있음.
{혼자서 해보기} economics 데이터를 이용해 분석 문제를 해결해 보세요.
Q1. psavert(개인 저축률)가 시간에 따라 어떻게 변해 왔는지 알아보려고 함. 연도별 개인 저축률 변화를 나타낸 시계열 그래프를 만들어 보자.
economics['date2'] = pd.to_datetime(economics['date'])
economics['year'] = economics['date2'].dt.year
sns.lineplot(data = economics, x = 'year', y = 'psavert', ci = None)

Q2. 2014년 월별 psavert의 변화를 나타낸 시계열 그래프를 만들어 보자.
economics['month'] = economics['date2'].dt.month
df_economics = economics.query('year == 2014')
sns.lineplot(data = df_economics, x = 'month', y = 'psavert', ci = None)

08-5 상자 그림 – 집단 간 분포 차이 표현하기
상자 그림(box plot)은 데이터의 분포 또는 퍼져 있는 형태를 직사각형 상자 모양으로 표현한 그래프임. 상자 그림을 보면 데이터가 어떻게 분포하고 있는지 알 수 있기 때문에 평균값만 볼 때보다 데이터의 특징을 더 자세히 이해할 수 있음.
[Do it! 실습] 상자 그림 만들기
sns.boxplot()을 이용하면 상자 그림을 만들 수 있음. mpg 데이터를 이용해 x축을 drv, y축을 hwy로 지정하고 ‘구동 방식별 고속도로 연비’를 상자 그림으로 표현하겠음.
sns.boxplot(data = mpg, x = 'drv', y = 'hwy')
상자 그림은 값을 크기 순으로 나열해 4등분했을 때 위치하는 값인 ‘사분위수’를 이용해 만듦. 다음은 상자 그림의 요소를 나타내는 값임.
상자 그림 | 값 | 설명 |
상자 아래 세로선 | 아랫수염 | 하위 0~25% 내에 해당하는 값 |
상자 밑면 | 1사분위수(Q1) | 하위 25% 위치 값 |
상내 내 굵은 선 | 2사분위수(Q2) | 하위 50% 위치 값(중앙값) |
상자 윗면 | 3사분위수(Q3) | 하위 75% 위치 값 |
상자 위 세로선 | 윗수염 | 하위 75~100% 내에 해당하는 값 |
상자 밖 가로선 | 극단치 경계 | Q1, Q3 밖 1.5 IQR 내 최댓값 |
상자 밖 점 표식 | 극단치 | Q1, Q3 밖 1.5 IQR을 벗어난 값 |
tip) ‘IQR(사분위 범위)’는 1사분위수와 3사분위수의 거리를 뜻하고, ‘1.5 IQR’은 IQR의 1.5배를 뜻함.
출력된 그래프를 보면 각 구동 방식의 고속도로 연비 분포를 알 수 있음.
- 전륜구동(f)은 26~29 사이의 좁은 범위에 자동차가 모여 있는 뾰족한 형태의 분포임. 수염의 위아래에 점 표식이 있는 것을 보면 연비가 극단적으로 높거나 낮은 자동차들이 있음.
- 4륜구동(4)은 17~22 사이에 대부분이 모여 있음. 중앙값이 상자 밑면에 가까운 것을 보면 낮은 값 쪽으로 치우친 형태의 분포라는 것을 알 수 있음.
- 후륜구동(r)은 17~24 사이의 넓은 범위에 자동차가 분포하고 있음. 수염이 짧고 극단치가 없는 것을 보면 자동차 대부분이 사분위 범위에 해당한다는 것을 알 수 있음.
{혼자서 해보기} mpg 데이터를 이용해 분석 문제를 해결해 보세요.
Q1. category(자동차 종류)가 'compact', 'subcompact', 'suv'인 자동차의 cty(도시 연비)가 어떻게 다른지 비교해 보려고 함. 세 차종의 cty를 나타낸 상자 그림을 만들어 보자.
mpg['category'].unique()
# output: array(['compact', 'midsize', 'suv', '2seater', 'minivan', 'pickup',
# 'subcompact'], dtype=object)
df_mpg = mpg.query('category in ["compact", "subcompact", "suv"]')
sns.boxplot(data = df_mpg, x = 'category', y = 'cty')

{알아 두면 좋아요} seaborn 더 알아보기
seaborn 치트 시트
seaborn에는 앞에서 다룬 기능 외에도 색, 크기, 폰트 등 그래프의 세부 요소를 설정하는 다양한 기능이 있음. seaborn 치트 시트를 참고하기 바람.
DataCamp seaborn cheat sheet: bit.ly/easypy_86
seaborn으로 만든 다양한 그래프와 코드들
seaborn을 이용하면 다양한 종류의 그래프를 만들 수 있음. seaborn으로 만든 그래프와 코드를 모아둔 갤러리를 살펴보기 바람.
seaborn Example gallery: bit.ly/easypy_87
The Python Graph Gallery – Seaborn: bit.ly/easypy_seaborn
matplotlib 패키지 함께 사용하기
seaborn은 파이썬의 대표적인 시각화 패키지인 matplotlib에 기반을 두고 만들어졌음. seaborn으로 그래프를 만들 때는 matplotlib의 명령어를 함께 사용하면 세부 요소를 설정할 수 있음.
matplotlib 공식 문서: matplotlib.org
정리하기
seaborn 함수 | 그래프 |
sns.scatterplot() | 산점도 |
sns.barplot() | 막대 그래프 – 요약표 활용 |
sns.countplot() | 빈도 막대 그래프 – 원자료 사용 |
sns.lineplot() | 선 그래프 |
sns.boxplot() | 상자 그림 |
### 1. 산점도
sns.scatterplot(data = mpg, x = 'displ', y = 'hwy')
# 축 제한
sns.scatterplot(data = mpg, x = 'displ', y = 'hwy') \
.set(xlim = (3, 6), ylim = (10, 30))
# 종류별로 표식 색깔 바꾸기
sns.scatterplot(data = mpg, x = 'displ', y = 'hwy', hue = 'drv')
### 2. 막대 그래프
## 평균 막대 그래프
# 1단계. 평균표 만들기
df_mpg = mpg.groupby('drv', as_index = False) \
.agg(mean_hwy = ('hwy', 'mean'))
# 2단계. 그래프 만들기
sns.barplot(data = df_mpg, x = 'drv', y = 'mean_hwy')
## 빈도 막대 그래프 만들기
sns.countplot(data = mpg, x = 'drv')
### 3. 선 그래프
sns.lineplot(data = economics, x = 'date', y = 'unemploy')
### 4. 상자 그림
sns.boxplot(data = mpg, x = 'drv', y = 'hwy')
- 8장 END -
'데이터 분석(Data Analysis) > 쉽게 배우는 파이썬 데이터 분석' 카테고리의 다른 글
[넷째마당_다양한 데이터 분석의 세계] 10 텍스트 마이닝 (0) | 2023.12.30 |
---|---|
[셋째마당_실전! 데이터 분석 프로젝트] 09 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (0) | 2023.12.29 |
[둘째마당_본격실습! 데이터 갖고 놀기] 07 데이터 정제 - 빠진 데이터, 이상한 데이터 제거하기 (0) | 2023.12.23 |
[둘째마당_본격실습! 데이터 갖고 놀기] 06 자유자재로 데이터 가공하기 (0) | 2023.12.18 |
[둘째마당_본격실습! 데이터 갖고 놀기] 05 데이터 분석 기초! - 데이터파악하기, 다루기 쉽게 수정하기 (0) | 2023.12.17 |