728x90
728x170
이전 시간에 pykrx 를 이용해 주가 정보를 가져올수 있었습니다.
2023.12.22 - [TensorFlow Python] - [Python] pykrx 를 이용해 주가 정보 가져오기
이제 이 데이터를 차트로 표시하는 방법입니다.
아래 예시는 삼성전자(00530) 데이터를 가지고 이번달(12월22까지) 종가 데이터를 가져와 표시합니다.
먼자 종가 데이터를 아래 코드를 이용해 가져옵니다.
from pykrx import stock
# 삼성전자 종가 데이터 가져오기
df = stock.get_market_ohlcv_by_date("20231201", "20231222", "005930")
print(df)
df(DataFrame) 에 날짜별 종가 데이터가 입력되고
이 입력된 데이터를 이용해 X 축은 날짜로 Y 축은 종가로 표시합니다.
import matplotlib.pyplot as plt
# 종가 데이터를 차트로 표시
plt.figure(figsize=(10, 4))
plt.title(stock.get_market_ticker_name("005930"))
plt.plot(df['종가'], marker='o')
plt.xlabel('Date')
plt.ylabel('Closing Price (KRW)')
plt.grid()
plt.show()
아래 코드의 marker 의 o 값은 마커로 점을 찍겠다는 의미입니다.
plt.plot(df['종가'], marker='o')
marker='*'는 별 모양 마커를, marker='s'는 사각형 마커로 표시합니다.
전체 코드는 아래와 같습니다.
from pykrx import stock
import matplotlib.pyplot as plt
# 삼성전자 종가 데이터 가져오기
df = stock.get_market_ohlcv_by_date("20231201", "20231222", "005930")
# print(df)
# 종가 데이터를 차트로 표시
plt.figure(figsize=(10, 4))
plt.title(stock.get_market_ticker_name("005930"))
plt.plot(df['종가'], marker='o')
plt.xlabel('Date')
plt.ylabel('Closing Price (KRW)')
plt.grid()
plt.show()
결과
하나의 주가 정보가 아닌 여러개의 주가정보를 표시하고 싶은 경우 아래처럼
tickers = ["005930", "000660", "051910"]
가져오고 싶은 코드를 리스트에 담고 for 문을 이용해 처리하면 됩니다.
from pykrx import stock
import matplotlib.pyplot as plt
import datetime
# 여러 주식의 티커 목록 생성
tickers = ["005930", "000660", "051910"]
# 차트 생성을 위한 준비
plt.figure(figsize=(10, 6))
plt.title("Stock Prices")
plt.xlabel('Date')
plt.ylabel('Closing Price (KRW)')
# 각 티커에 대해 반복하여 데이터 가져오기 및 차트에 표시
for ticker in tickers:
df = stock.get_market_ohlcv_by_date("20231201", "20231222", ticker)
plt.plot(df['종가'], label=stock.get_market_ticker_name(ticker), marker='o')
plt.legend()
plt.grid()
plt.show()
결과
범례는 plt.legend() 함수를 사용해야 표시되며 plot 함수의 label 값이 범례에 사용됩니다.
차트를 이미지로 저장하고 싶은 경우에는 아래와 같이 savefig 함수를 이용하면 됩니다.
plt.savefig('samsung_closing_price_chart.png')
728x90
그리드형
'TensorFlow Python' 카테고리의 다른 글
[Python] pykrx 를 이용해 주가 정보 가져오기 (0) | 2023.12.22 |
---|---|
[Python] 파이썬 가상환경 구성하기 - jupyter 실행까지 (1) | 2023.12.21 |
[Python] ModuleNotFoundError: No Module named 'dateutil' (0) | 2023.12.20 |
[Python] ModuleNotFoundError: No Module named 'pymysql' (0) | 2023.12.20 |
[Python] ModuleNotFoundError: No Module named 'win32com' (0) | 2023.12.20 |