Line Chart

Author

Gabriel Yang

라인 차트(Line Chart)는 시간에 따른 데이터 변화를 시각적으로 표현하는 데 유용한 그래프 유형입니다. 라인 차트는 데이터 포인트를 선으로 연결하여 시간의 흐름에 따른 값의 변화를 명확하게 보여줍니다.

라인 차트를 사용하기 적합한 데이터의 특징

  1. 시간 시퀀스 데이터: 날짜나 시간에 따른 변화를 보여주는 데 가장 적합합니다.
  2. 연속적 데이터: 데이터 포인트 간의 연속성을 강조할 때 사용합니다.
  3. 추세 파악: 특정 기간 동안의 패턴이나 추세를 시각화하는 데 유용합니다.

라인 차트의 특징

  • 시간 흐름 표현: X축이 보통 시간 축을 나타내고, Y축이 측정값을 나타내어 시간에 따른 변화를 시각적으로 쉽게 파악할 수 있습니다.
  • 데이터 비교 용이: 여러 라인을 추가하여 다양한 데이터 세트를 비교할 수 있습니다.
  • 패턴 인식: 데이터의 상승, 하락 또는 일정한 추세를 쉽게 식별할 수 있습니다.
  • 시각적 명료성: 데이터 포인트와 그 연결 선을 통해 명확하고 직관적인 시각적 표현을 제공합니다.

Plotly로 라인 차트 그리는 방법

데이터 준비

라인 차트를 그리기 위해 데이터를 준비합니다. 여기서는 예제로 날짜별 주식 가격 데이터를 사용합니다.

import pandas as pd

# 예제 데이터 생성
data = {
    'Date': ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05'],
    'Price': [150, 152, 153, 151, 154]
}
df = pd.DataFrame(data)
df['Date'] = pd.to_datetime(df['Date'])
df
Date Price
0 2023-01-01 150
1 2023-01-02 152
2 2023-01-03 153
3 2023-01-04 151
4 2023-01-05 154

Line 차트 그리기

이제 Plotly를 사용하여 라인 차트를 생성해보겠습니다. Plotly의 plotly.graph_objs 모듈을 사용합니다.

import plotly.graph_objs as go

# 라인 차트 생성
fig = go.Figure()

# 라인 추가
fig.add_trace(go.Scatter(x=df['Date'], y=df['Price'], mode='lines', name='Stock Price'))

# 레이아웃 설정
fig.update_layout(
    title='Stock Prices Over Time',
    xaxis_title='Date',
    yaxis_title='Price',
    template='plotly'
)

# 차트 표시
fig.show()

Line 형태 및 색상 변경하기

import plotly.graph_objs as go

# 라인 차트 생성
fig = go.Figure()

# 라인 추가
fig.add_trace(
    go.Scatter(
        x=df['Date'],
        y=df['Price']+5,
        mode='lines',
        line=dict(color='red', dash='dash'),  # 라인 색상 설정
        name='red_dash'))
fig.add_trace(
    go.Scatter(
        x=df['Date'],
        y=df['Price']+4,
        mode='lines',
        line=dict(color='#ff7f0e', dash='dot'),  # 라인 색상 설정
        name='#ff7f0e_dot'))
fig.add_trace(
    go.Scatter(
        x=df['Date'],
        y=df['Price']+3,
        mode='lines',
        line=dict(color='rgba(0,0,255,0.5)', dash='dashdot'),  # 라인 색상 설정
        name='rgba(0,0,255,0.5)_dashdot'))
fig.add_trace(
    go.Scatter(
        x=df['Date'],
        y=df['Price']+2,
        mode='lines',
        line=dict(color='green', dash='longdash'),  # 라인 색상 설정
        name='green_longdash'))
fig.add_trace(
    go.Scatter(
        x=df['Date'],
        y=df['Price']+1,
        mode='lines',
        line=dict(color='rgba(255,0,0,0.2)', dash='longdashdot'),  # 라인 색상 설정
        name='rgba(255,0,0,0.2)_longdashdot'))


# 레이아웃 설정
fig.update_layout(
    title='Stock Prices Over Time',
    xaxis_title='Date',
    yaxis_title='Price',
)

# 차트 표시
fig.show()

Plotly에서 라인 차트를 그릴 때 사용할 수 있는 색상과 라인의 형태 옵션은 매우 다양합니다. Plotly에서 사용할 수 있는 라인 형태 옵션 정보를 표로 정리합니다.

라인 형태 옵션 설명
solid 기본값, 실선
dash 짧은 대시
dot 점선
dashdot 짧은 대시와 점선
longdash 긴 대시
longdashdot 긴 대시와 점선

다음은 색상 지정 방법을 표로 정리한 것입니다. line의 color속성에 아래표와 같이 원하는 색생 정보를 적용할 수 있습니다.

색상 지정 방법 예시 설명
기본 색상 이름 'blue', 'red', 'green', 'orange' CSS에서 기본적으로 제공하는 색상 이름을 사용
16진수 코드 '#1f77b4', '#ff7f0e' 16진수 색상 코드를 사용
RGB 'rgb(255,0,0)' 빨간색 (Red, Green, Blue 값으로 지정)
RGBA 'rgba(255,0,0,0.5)' 반투명 빨간색 (Red, Green, Blue, Alpha 값으로 지정)

RGBA의 경우 4번째 값인 alpha를 통해서 투명도를 설정할 수 있습니다.

Layout 수정하기

마커를 추가하거나 레이아웃을 조정하여 더욱 세련된 차트를 만들 수 있습니다.

# 마커 추가한 라인 차트 생성
fig = go.Figure()

# 라인과 마커 추가
fig.add_trace(go.Scatter(x=df['Date'], y=df['Price'], mode='lines+markers', name='Stock Price'))

# 레이아웃 설정
fig.update_layout(
    title='Stock Prices Over Time with Markers',
    xaxis_title='Date',
    yaxis_title='Price',
    template='plotly_dark'  # 다크 테마 적용
)

# 차트 표시
fig.show()

위의 코드는 update_layout함수의 template을 이용해서 라인 차트에 다크 테마를 적용했습니다.