- pandas - matplotlib - seaborn - paths: - ./NANUMMYEONGJO.TTF - ./NANUMMYEONGJOBOLD.TTF def createElementDiv(name): element = document.createElement('div') element.id = name document.body.append(element) return Element(name) import pandas as pd from pyodide.http import open_url import numpy as np # 판다스에서 csv 를 데이터 프레임으로 읽어옴 매출데이터 = pd.read_csv(open_url( "http://dreamplan7.cafe24.com/pyscript/csv/avocado.csv" )) # 2개 필드만 추려서 데이터 프레임을 다시 만듬 매출데이터 = 매출데이터[[ 'Date', 'Total Volume' ]] # 영문 제목을 한글로 변경 매출데이터.columns = [ '날짜', '매출량' ] # 주간 매출량 그룹 주간매출데이터 = 매출데이터.fillna(0) \ .groupby('날짜', as_index=False)[['매출량']] \ .sum() \ .sort_values( by='날짜', ascending=True ) # 10000으로 나눈 매출량 필드 추가 주간매출데이터.insert(2, '매출량(만)', 주간매출데이터['매출량']/10000, True) createElementDiv('output2').write(주간매출데이터) import matplotlib.pyplot as plt import matplotlib.font_manager as fm import matplotlib as mat # 기준 폰트 변경 : legend 의 한글을 적용하려면 필수 fm.fontManager.addfont('./NANUMMYEONGJO.TTF') # 폰트명 : NanumMyeongjo mat.rc('font', family='NanumMyeongjo') ################### # 폰트 목록 출력 ( 폰트 추가 후 정확한 이름을 확인하려면 필요 #font_list = [font.name for font in fm.fontManager.ttflist] #for f in font_list: # print(f) ################### # 개별 폰트 적용 NanumMyengjo = fm.FontProperties( fname='./NANUMMYEONGJO.TTF' ) NanumMyengjoBold = fm.FontProperties( fname='./NANUMMYEONGJOBOLD.TTF' ) fig = plt.figure( figsize=(15, 7) ) plt.title('주간 아보카도 매출량', fontproperties=NanumMyengjoBold, fontsize=32 ); plt.xticks(rotation=90, fontsize=8) # 꺾은선 그래프 plt.plot( 주간매출데이터['날짜'].to_list(), 주간매출데이터['매출량(만)'].to_list(), marker='o', color='green', label='매출량' ) # 축 라벨 표시 plt.xlabel('날짜', fontsize=16) plt.ylabel('매출량(단위:만)', fontsize=12) # 범례 표시 plt.legend() ax = plt.gca() # X축만 그리드 ax.xaxis.grid(True) # 마진 조정 ax.margins(x=0.01, y=0.02) # 주위 이상한 여백 없애기 fig.tight_layout() fig