Python에서 matplotlib를 사용하여 촛대 차트를 만드는 방법


캔들스틱 차트는 시간 경과에 따른 유가 증권의 가격 변동을 표시하는 일종의 금융 차트입니다.

다음 예에서는 Python에서 Matplotlib 시각화 라이브러리를 사용하여 촛대 차트를 만드는 방법을 보여줍니다.

예: Python에서 촛대형 차트 만들기

8일 동안 특정 주식의 시가, 종가, 고가, 저가를 보여주는 다음과 같은 pandas DataFrame이 있다고 가정해 보겠습니다.

 import pandas as pd

#createDataFrame
prices = pd. DataFrame ({' open ': [25, 22, 21, 19, 23, 21, 25, 29],
                       ' close ': [24, 20, 17, 23, 22, 25, 29, 31],
                       ' high ': [28, 27, 29, 25, 24, 26, 31, 37],
                       ' low ': [22, 16, 14, 17, 19, 18, 22, 26]},
                       index=pd. date_range (" 2021-01-01 ", periods=8, freq=" d "))

#display DataFrame
print (prices)

            open close high low
2021-01-01 25 24 28 22
2021-01-02 22 20 27 16
2021-01-03 21 17 29 14
2021-01-04 19 23 25 17
2021-01-05 23 22 24 19
2021-01-06 21 25 26 18
2021-01-07 25 29 31 22
2021-01-08 29 31 37 26

다음 코드를 사용하여 8일 동안 해당 주식의 가격 변동을 시각화하는 캔들차트를 만들 수 있습니다.

 import matplotlib. pyplot as plt

#create figure
plt. figure ()

#define width of candlestick elements
width = .4
width2 = .05

#define up and down prices
up = prices[prices. close >=prices. open ]
down = prices[prices. close <prices. open ]

#define colors to use
col1 = ' green '
col2 = ' red '

#plot up prices
plt. bar (up. index , up. close -up. open , width, bottom=up. open , color=col1)
plt. bar (up. index ,up. high -up. close ,width2,bottom=up. close ,color=col1)
plt. bar (up. index , up. low -up. open , width2, bottom=up. open , color=col1)

#plot down prices
plt. bar (down. index , down. close -down. open , width, bottom=down. open , color=col2)
plt. bar (down. index , down. high -down. open , width2, bottom=down. open , color=col2)
plt. bar (down. index ,down. low -down. close ,width2,bottom=down. close ,color=col2)

#rotate x-axis tick labels
plt. xticks (rotation= 45 , ha=' right ')

#display candlestick chart
plt. show () 

Python에서 matplotlib를 사용하는 촛대형 차트

각 촛대는 특정 날짜의 유가 증권 가격 변동을 나타냅니다. 캔들스틱의 색상은 가격이 전날에 비해 높게 마감되었는지(녹색), 낮게 마감되었는지(빨간색) 알려줍니다.

캔들스틱의 너비와 차트를 원하는 방식으로 표시하는 데 사용되는 색상을 자유롭게 변경하세요.

예를 들어, 양초를 더 얇게 만들고 다양한 색상을 사용하여 “높은” 날과 “낮은” 날을 나타낼 수 있습니다.

 import matplotlib. pyplot as plt

#create figure
plt. figure ()

#define width of candlestick elements
width = .2
width2 = .02

#define up and down prices
up = prices[prices. close >=prices. open ]
down = prices[prices. close <prices. open ]

#define colors to use
col1 = ' black '
col2 = ' steelblue '

#plot up prices
plt. bar (up. index , up. close -up. open , width, bottom=up. open , color=col1)
plt. bar (up. index ,up. high -up. close ,width2,bottom=up. close ,color=col1)
plt. bar (up. index , up. low -up. open , width2, bottom=up. open , color=col1)

#plot down prices
plt. bar (down. index , down. close -down. open , width, bottom=down. open , color=col2)
plt. bar (down. index , down. high -down. open , width2, bottom=down. open , color=col2)
plt. bar (down. index ,down. low -down. close ,width2,bottom=down. close ,color=col2)

#rotate x-axis tick labels
plt. xticks (rotation= 45 , ha=' right ')

#display candlestick chart
plt. show () 

추가 리소스

다음 튜토리얼에서는 Python에서 다른 일반적인 차트를 만드는 방법을 설명합니다.

단일 그림에 여러 Matplotlib 플롯을 만드는 방법
Python의 데이터 목록에서 히스토그램을 그리는 방법
Python에서 그룹별로 상자 그림을 만드는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다