파이썬 기초_11

jh_k·2023년 2월 5일
0

python기초

목록 보기
11/11

데이터의 시각화

  1. 사용하는 라이브러리 matplotlip
  2. 라인 , 바, 산점도, 히스토그램 그래프 시각화
  3. 그 외의 그래프가 여러 종류가 존재
import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.xlabel("x")
plt.show()
  • subplot()
    • 한 영역에 여러개의 그래프를 그려주기위한 함수
    • subplot(행의개수, 열의개수 ,위치)
plt.subplot(1,2,1)
plt.plot([1,2,3,4])
plt.subplot(1,2,2)
plt.plot([4,3,2,1])
plt.show()
fig, axes = plt.subplots(2,2)
axes[0][0].plot([1,2,3,4])
axes[0][1].plot([4,3,2,1])
axes[1][0].plot([1,2,2,1])
axes[1][1].plot([3,4,2,1])
plt.show()
  • 그래프를 그릴 때 주의 할 점
    • y축의 값만 입력하는 경우 - 문제되는 경우가 거의 존재하지 않는다.
    • x축과 y축의 값을 같이 입력하는 경우
      • x의 값과 y의 값의 위치를 정확하게 대입
      • x의 개수와 y의 개수가 일치해야 한다.
x = [1,2,3,4]
y = [4,3,2,1]
plt.plot(x,y)
plt.show()
## x축의 이름, y축의 이름, 그래프의 이름
plt.plot([1,2,3,4])
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.title("title")
plt.show()
# 두 개의 그래프를 하나의 그래프에 그리기
plt.plot([1,2,3,4],label ="ascending")
plt.plot([4,3,2,1],label ="descending" )
plt.legend(loc= 'best')   #loc = 1,2,3,4, .. 
plt.show()
## 한글이 깨지는 현상을 막기 위해 폰트 변경 
## 맑은 고딕체로 변경
plt.rc('font',family='Malgun Gothic')
plt.plot([1,2,3,4])
plt.xlabel("x축")
plt.ylabel("y축")
plt.show()
  • 바형 그래프
    • bar() 함수를 이용하여 그래프를 출력
    • bar(x축, y축)
    • x값이 존재하지 않으면 에러 발생
plt.bar([1,2,3,4],[4,3,2,1],color=['red','green','blue','yellow'])
plt.show()
kospi = fdr.DataReader("KS11",'2019')

## 월별 평균으로 데이터를 재표집
mean_kospi_2020 = kospi.loc['2020'].resample('MS').mean()
mean_kospi_2020

# x축은 'xxxx년xx월' 표시
x = mean_kospi_2020.index.strftime('%Y년%m월')
# y축은 '평균 거래량'
## bar() 그래프
plt.figure(figsize=(14,6))
# 지수 표현식을 일반 표현식으로 변경 y축의 단위
plt.ticklabel_format(axis='x', style='plain')
plt.barh(x,mean_kospi_2020["Volume"])
plt.xlabel("년-월")
plt.ylabel("평균 거래량")
plt.show()
  • 히스토그램
    • 데이터의 개수를 표현하는 바 그래프
data = [1,2,2,3,3,3,4,4,4]
plt.hist(data, bins=11)
plt.show()
## kospi에서 변동율 파생변수 생성
## 변동률 = (close - open) / open * 100
kospi["변동률"] = (kospi["Close"]-kospi["Open"])/kospi["Open"]*100
kospi.head()
## 변동률을 histogram
plt.rc("axes",unicode_minus=False) #음수를 표시
plt.grid()
plt.hist(kospi["변동률"],bins=20)
plt.show()

CANDLESTICK

## candlestick
import mplfinance as mpf
marketcolor = mpf.make_marketcolors(
    up = 'r', # 상승은 RED
    down = 'b', # 하락 BLUE
    edge = 'inherit',  ## 모서리의 색
    wick = 'inherit'  ## 꼬리 색
)

style = mpf.make_mpf_style(
    base_mpf_style = 'starsandstripes',
    marketcolors= marketcolor,
    gridaxis = 'both', # 격자 생성
    y_on_right = True
)

mpf.plot(data = kospi.loc['2020-12'],type='candle',style=style)
profile
Just Enjoy Yourself

0개의 댓글