728x90
https://stickode.tistory.com/1051
저번 시간에 이어서, 오늘은 DB에 저장해둔 데이터를 시각화해보겠습니다. 코드에서 user와 password는 본인의 DB 설정에 맞게 변경하셔야합니다.
import pandas as pd
import matplotlib.pyplot as plt
import pymysql
import matplotlib.dates as mdates
# 데이터베이스 연결 설정
db = pymysql.connect(host='localhost', user='root', password='root', db='stickode_231204_upbit', charset='utf8mb4')
cursor = db.cursor()
# SQL 쿼리를 사용하여 데이터 추출
query = "SELECT trade_date, trade_price FROM trades WHERE code = 'KRW-BTC' ORDER BY trade_date"
df = pd.read_sql(query, db)
# 그래프의 크기를 늘림
plt.figure(figsize=(10, 6))
# 날짜 형식을 월/일로 설정
ax = plt.gca()
ax.xaxis.set_major_formatter(mdates.DateFormatter('%m/%d'))
# 눈금 간격 자동 조정
ax.xaxis.set_major_locator(mdates.AutoDateLocator())
# 레이블을 45도 회전
plt.xticks(rotation=45)
# 시각화
plt.plot(df['trade_date'], df['trade_price'])
plt.title('Trade Price Over Time')
plt.xlabel('Trade Date')
plt.ylabel('Trade Price')
plt.tight_layout() # 레이블이 잘리지 않게 조정
plt.show()
# 데이터베이스 연결 종료
db.close()
실행 결과
'Python' 카테고리의 다른 글
[Python] FastAPI를 사용해서 서버 만들기 (0) | 2024.03.03 |
---|---|
[Python]파이썬의 가변 인자: *args와 **kwargs 이해하기 (0) | 2024.03.02 |
[Python] FastAPI에서 CORS 정책 적용하기 (0) | 2024.02.15 |
[Python] 죽지않는 웹소켓 만들기 (0) | 2024.02.14 |
[Python] Selenium으로 웹페이지 전체 캡처하기 (0) | 2024.02.09 |