카테고리 없음

5주차 matplotlib.plt

박혀노 2023. 2. 2. 17:17
728x90

merge 함수

df_10 = df_top10.merge(df_krx, left_on="종목별", right_on="Name")

여기까지가 merge 함수 . 두 데이터프레임을 그대로 합치며, 키 값이 되는 컬럼만 제일 앞에 옴.

이 중에서 Name과 Code만 가져오고 싶으니까

df_10 = df_top10.merge(df_krx, left_on="종목별", right_on="Name")[['Name', 'Code']]

근데 하다보니까 드는 생각이 그러면 df_krx에는 Name 과 Code가 모두 들어있으니까 컬럼명만 변경해주면되는거아닌가..? 라는 생각이 들었지만.. merge 함수를 배우기 위함이었다고 생각하자..

 

 

fdr.DataReader? 
 
  • Docstring 참고
* symbol: code or ticker  (코드 or Ticker(미국주식에서 준말 ex AAPL))
* start, end: date time string (시작일 , 종료일)
* exchange: 'KRX'(default), 'KRX-DELISTING', 'NYSE', 'NASDAQ',
             'AMEX', 'SSE', 'SZSE', 'HKEX', 'TSE', 'HOSE'  (원하는 거래소)​

 

 

matplotlib.plot

다양한 스타일 설정을 위해 스타일 제공

폰트 포함한 스타일 사용하게 되면 한글설정 된 라이브러리와 충돌해서 깨짐!

plt.style.available

이중에 깨지지 않는

폰트 적용

# 한글폰트 확인
# fivethirtyeight', 'ggplot'
plt.style.use('ggplot')
pd.Series([1,3, -5, 7, 9]).plot(title = '한글 시험')

 

💡범례💡

 

✅ plot.(label) : 범례 제목 

1) plot(label = '범례 제목') #plot() 안에 설정

2) plt.legend() #plt.legend()

✅ legend( ioc )  : 범례 위치

plt.legend(loc = (0.5,0.5))
plt.legend(loc = 'lower right')
# 좌표처럼 숫자 입력으로 가능하며 문자열로도 지정까지 가능하다.
# 좌표랑 숫자 모두 바둑판처럼 9군데 정도 가능한 것 같다.
# 참고로 숫자는 (1.0,1.0)이 오른쪽 위이다

 

ncol: 범례의 가로, 세로 여부

 파라미터는 범례에 표시될 텍스트의 열의 개수를 지정
 ncol = 1이 default 값이며
 범례가 2개 이상일 때 
 가로로 늘여서 볼 수도 있다.

 

bbox_to_anchor : 범례를 그래프 밖으로 보내고 싶을 때

bbox_to_anchor
그래프 밖이나 좀 더 정확한 위치로 라벨을 넣고 싶다면 loc 대신 bbox_to_anchor 를 쓰시면 됩니다.

bbox_to_anchor 는 (x,y,width,height) 로 이루어져 있어서 직접 좌표, 글자크기, 높이를 넣을 수 있습니다.

 

bbox_anchor는 x,y가 1보다 작은 값일 때 그래프 안으로 들어오고 밖으로 내보내고 싶다면
                    1보다 큰 값을 넣으면 됩니다. 
                    (0,0)이면 왼쪽 아래 구석이고 (1,1)이면 오른쪽 위쪽입니다.

 

💡 축 제목💡

 

plt.xlabel

plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.show()

 

❗❗❗❗❗❗❗ 

다 잘되는데 xlim,ylim 왜안되냐.....하라는대로 여러번 했는데 

 

 

728x90