<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 웹 플롯을 위한 bokeh 패키지 소개
bokeh 의 기법
Step1:  Bokeh 라이브러리 임포트
Bokeh는 원래 정적인 웹사이트로 렌더링 할 html 파일을 출력하는 것을 목표로 한다. 따라서 출력을 저장할 html 파일 패스를 지정해야 한다. 만약 주피터 노트북에서 작업한다면 다음과 같이 output_notebook 명령을 실행해야 한다.
Step2:  플롯팅
이제 플롯을 위한 준비 작업을 완료하였다. 우선 figure 명령으로 Figure 클래스 객체를 생성해야한다. 이를 p라는 변수에 저장하자.
http
Step3:  다음으로 Figure 클래스의 메서드를 호출하여 실제 플롯 객체를 추가한다. 우선 라인 플롯을 그리기 위해 line 메서드을 실행한다.
http
Step4:  이제 show 명령어를 호출하여 실제 차트를 렌더링 한다.
Step5:  상호작용 툴 추가하기
만약 차트에 상호작용을 위한 툴을 추가하고 싶다면 Figure 객체 생성시 tools 인수를 설정한다.
<ASSISTANT_TASK:>
Python Code:
import urllib
url = 'http://ichart.yahoo.com/table.csv?s=MSFT&a=0&b=1&c=2009'
data = pd.read_csv(url, parse_dates=['Date'])
Explanation: 웹 플롯을 위한 bokeh 패키지 소개
bokeh 의 기법: 메인을 blur, 배경을 포커스잡는.. 
Bokeh ( http://bokeh.pydata.org )는 웹사이트에서 현대적인 웹 기반 인터랙티브 플롯을 제공하는 것을 목표로 만든 파이썬 라이브러리이다. 
여기에서는 "파이썬을 활용한 금융분석(Python for Finance) 제14장의 예제 코드를 기반으로 bokeh 패키지의 기능을 간단히 소개한다
자료의 준비
우선 예제로 사용할 주식 가격 자료를 인터넷에서 다운받는다.
End of explanation
import bokeh.plotting as bp
# 주피터 노트북이 아닌 파일로 출력하는 경우
# bp.output_file("../images/msft_1.html", title="Bokeh Example (Static)")
# 주피터 노트북에서 실행하여 출력하는 경우
bp.output_notebook()
Explanation: Bokeh 라이브러리 임포트
Bokeh는 원래 정적인 웹사이트로 렌더링 할 html 파일을 출력하는 것을 목표로 한다. 따라서 출력을 저장할 html 파일 패스를 지정해야 한다. 만약 주피터 노트북에서 작업한다면 다음과 같이 output_notebook 명령을 실행해야 한다.
End of explanation
p = bp.figure(title='Historical Stock Quotes', # 플롯 제목
              x_axis_type ='datetime',  # x 축은 날짜 정보
              tools = '')
Explanation: 플롯팅
이제 플롯을 위한 준비 작업을 완료하였다. 우선 figure 명령으로 Figure 클래스 객체를 생성해야한다. 이를 p라는 변수에 저장하자.
http://bokeh.pydata.org/en/latest/docs/reference/plotting.html#bokeh.plotting.figure.figure
End of explanation
p.line(
    data['Date'],  # x 좌표
    data['Close'], # y 좌표
    color ='#0066cc',  # 선 색상
    legend ='MSFT',  # 범례 이름
)
Explanation: 다음으로 Figure 클래스의 메서드를 호출하여 실제 플롯 객체를 추가한다. 우선 라인 플롯을 그리기 위해 line 메서드을 실행한다.
http://bokeh.pydata.org/en/latest/docs/reference/plotting.html#bokeh.plotting.figure.Figure.line
End of explanation
bp.show(p)
Explanation: 이제 show 명령어를 호출하여 실제 차트를 렌더링 한다.
End of explanation
p = bp.figure(title='Historical Stock Quotes', # 플롯 제목
              x_axis_type ='datetime',  # x 축은 날짜 정보
              tools = 'pan, wheel_zoom, box_zoom, reset, previewsave')
p.line(
    data['Date'],  # x 좌표
    data['Close'], # y 좌표
    color ='#0066cc',  # 선 색상
    legend ='MSFT',  # 범례 이름
)
bp.show(p)
Explanation: 상호작용 툴 추가하기
만약 차트에 상호작용을 위한 툴을 추가하고 싶다면 Figure 객체 생성시 tools 인수를 설정한다.
End of explanation
<END_TASK>