1.  선 그래프 - 시간에 따라 달라지는 데이터 표현하기

🐰  선 그래프 line chart : 데이터를 선으로 표현한 그래프, 시간에 따라 달라지는 데이터를 표현할 때 자주 사용
🐰  환율, 주가지수 등 경제 지표가 시간에 따라 변하는 양상을 '선 그래프'로 표현

    🥕  시계열 데이터 time series data  : 일별 환율처럼, 일정 시간 간격을 두고 나열된 데이터
    🥕  시계열 그래프 time series chart : 시계열 데이터를 선으로 표현한 그래프

 


 

1) 시계열 그래프 만들기

 

🐰  economics는 미국의 여러 가지 경제 지표를 월별로 나타낸 데이터
🐰  economics를 이용해 시간에 따라 실업자 수가 어떻게 변하는지 나타낸 시계열 그래프를 생성

🐰  sns.lineplot()을 이용하면 선 그래프를 만들 수 있다

 

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

# economics 데이터(시계열 데이터) 불러오기
economics = pd.read_csv('../input/economics.csv')

'''
         date    pce       pop  psavert  uempmed  unemploy
0  1967-07-01  506.7  198712.0     12.6      4.5      2944
1  1967-08-01  509.8  198911.0     12.6      4.7      2945
2  1967-09-01  515.6  199113.0     11.9      4.6      2958
3  1967-10-01  512.2  199311.0     12.9      4.9      3143
4  1967-11-01  517.4  199498.0     12.8      4.7      3066
'''
# x축에는 시간을 나타낸 date, y축에는 실업자 수를 나타낸 uneploy를 지정
sns.lineplot(data=economics, x='date', y='unemploy')
plt.show()

 

 

📍 출력된 그래프를 보면 x축에 굵은 선이 표시
      ▶️  date 변수에는 '1967-07-01' 처럼 '연월일'을 나타낸 문자가 있는데 이 값이 x축에 가로로 여러 번 겹쳐 표시되어서 굵은 선으로 보임

 

 

 

 

 

 


 

(1)  x축에 연도 표시하기

 

🥕  x축에 연도를 표시하려면 변수 타입을 날짜 시간 타입 datetime64으로 바꿔야
       ( economics 데이터의 date가 문자 object 타입으로 되어 있음 )

🥕  pd.to_datetime()을 이용하면 변수의 타입을 날짜 시간 타입으로 바꿀 수 있음

        ⚡️  변수의 타입을 날짜 시간 타입으로 바꾸더라도 값이 달라지지 않음

🥕  날짜 시간 타입은 df.dt를 이용해 연, 월, 일을 추출할 수 있음

# 날짜 시간 타입 변수 만들기
# date 타입을 날짜 시간 타입으로 변경해서 date2 변수 추가
economics['date2'] = pd.to_datetime(economics['date'])

# 변수 타입 확인
economics.info()
'''
RangeIndex: 574 entries, 0 to 573
Data columns (total 7 columns):
 #   Column    Non-Null Count  Dtype         
---  ------    --------------  -----         
 0   date      574 non-null    object        
... 생략...    
 6   date2     574 non-null    datetime64[ns]
 '''
# 연도 변수 추가
economics['year'] = economics['date2'].dt.year
economics.head()
# 연도를 나타낸 변수를 sns.lineplot()의 x에 입력하면 x축에 연도가 표시
sns.lineplot(data=economics, x='year', y='unemploy')
plt.show()

출력 결과

 

 

📍 선의 위아래에 표시된 면적은 신뢰구간 confidence interval
📍 신뢰 구간을 표시하지 않으려면 errorbar = None을 입력

 

 

 

 

 

 

 

 

 

# 신뢰구간 제거
sns.lineplot(data=economics, x='year', y='unemploy', errorbar=None)
plt.show()

신뢰구간 제거 결과

 

# date2로 그래프 바로 생성
sns.lineplot(data=economics, x='date2', y='unemploy')
plt.show()

 

 

 

 

 

 

[ 내용 참고 : IT 학원 강의 ]


출처 : 위키독스 (https://wikidocs.net/92083)

 

1.  선 그래프

 

🚀  연속적으로 변하는 데이터를 시각화할 때 사용
🚀  일반적으로 선 그래프는 시간에 따라 데이터의 연속적인 변화량을 관찰할 때 자주 사용
       ⚡️  예를 들어 시간에 따른 온도 변화량, 수출액 변화량, 교통 사고량 등을 시각화 할 때 유용하게 사용
🚀  선 그래프는 수량을 점으로 표시하면서 선으로 이어 그리기 때문에 증가와 감소 상태를 쉽게 확인할 수 있음

    📌  선 그래프는 plot()에 x축, y축 데이터를 선택하여 출력
    📌  x축에 시간 변수를 지정하여 시간 변화량을 나타내는 시계열 데이터를 표현하는 그래프에도 많이 사용

# 2001년 ~ 2019년까지의 미세먼지 데이터 'fine_dust.xlsx'를 이용하여 선 그래프로 표현.

import pandas as pd
import matplotlib.pyplot as plt

# 1) 2019년 데이터 읽기
data = pd.read_excel('../input/fine_dust.xlsx', index_col='area')
data

출력 결과

# 2019 데이터 가져오기
data2019 = data[2019]
data2019.head()

'''
area
Seoul       42.0
Gyeonggi    46.0
Incheon     43.0
Busan       36.0
Daegu       39.0
Name: 2019, dtype: float64
'''
# 2) 2019년 지역별 미세먼지 선 그래프
plt.figure(figsize=(15, 4))
plt.plot(data2019, color='b', marker='o')  # 파란색 선과 원형 마커 지정
plt.title('2019 Fine Dust Line Graph')  # 제목 설정
plt.xlabel('area')  # x축 명칭
plt.ylabel('micrometer')  # y축 명칭
plt.grid()  # 격자 표시
plt.show()

출력 결과

 

# 3) 2016 ~ 2019년 미세먼지 선 그래프
# 2016년 데이터를 가져와 chartdata에 저장하고 마커 및 이름을 지정하는 과정을 2019년까지 반복.
plt.figure(figsize=(15, 4))
for year in range(2016, 2020):
    plt.plot(data[year], marker='o', label=year)
plt.title('2016~2019 Fine Dust Line Graph')
plt.xlabel('area')
plt.ylabel('micrometer')
plt.legend()
plt.grid()
plt.show()

출력 결과

 

 

 

 

 

[ 내용 참고 : IT 학원 강의 ]

+ Recent posts