plotly는 파이썬의 대표적인 인터랙티브 시각화도구이다. Plotly는 개인 및 공동 작업을 위한 온라인 그래프 작성, 분석 및 통계 도구와 Python , R, MATLAB, Perl, Julia, Arduino 및 REST 용 과학 그래프 라이브러리를 제공한다.
seaborn과 사용법이 비슷하며, plotly.graph_objectc에 비해 비교적 간단한 편이다.
가장 큰 장점은 한글폰트 설정이 따로 필요없다는 점이며, 인터페이스만 파이썬을 사용함을 알 수 있다.
import plotly.express as px
pd.read_html("https://en.wikipedia.org/wiki/List_of_S%26P_500_companies")[0]
FAANG = ["FB", "AMZN", "AAPL", "NFLX", "GOOGL"]
# faang_list 의 종가 가져오기
faang_list = [fdr.DataReader(sym,"2022")["Close"] for sym in FAANG]
# concat 으로 데이터 병합하기
df_faang = pd.concat(faang_list, axis=1)
df_faang.columns = FAANG
# 일별 수익률 구하기
#-1을 하는 이유는 첫행을 0으로 만들기 위해서
df_ratio = (df_faang / df_faang.iloc[0]) - 1
df_ratio
px.line
px.line(df_ratio, facet_col="company", facet_col_wrap=3)
px.area
seaborn의 co와 plotly의 facet_col은 같은 역할을 한다.
만약 여러개의 컬럼에 대해 서브플롯을 만들고 싶다면 컬럼들의 이름을 지정해주면 된다.
# px.area 로 수익률 그래프 그리기
px.area(df_ratio, facet_col="company",facet_col_wrap=1)
px.bar
px.bar(df_ratio, facet_col="company", facet_col_wrap=1)
px.scatter
px.scatter(df_ratio, facet_col="company", facet_col_wrap=1)
2개 그래프 동시에 그리기: marginal
px.scatter_matrix
px.box
# px.box
px.box(df_ratio)
px.box(df_ratio, notched=True, points="all")
px.violin
px.strip
px.histogram
px.histogram(df_ratio, nbins=50, facet_col="company", facet_col_wrap=2)
시각화 총정리: pandas (0) | 2022.10.28 |
---|---|
[PANDAS] 전처리 & EDA 총정리 (0) | 2022.10.27 |
[크롤링 & EDA] 메인 및 상세 페이지 수집 함수 만들기: 서울특별시 다산콜센터의 주요 민원 (0) | 2022.10.26 |
[크롤링] requests, BeautifulSoup, Json (0) | 2022.09.29 |
[크롤링] FinanceDataReader, 네이버금융 뉴스기사 크롤링 (0) | 2022.09.28 |