最近想到在 colab 上如何用 plt matplotlib 劃出K線圖且有中文?
重點是需要先知道目前這主機上有的中文字形
否則就需要額外下載
額外下載可能有連結失效的問題
所以我傾向用現成的
from matplotlib.font_manager import fontManager for i in sorted(fontManager.get_font_names()): print(i)
目前我在 colab 上面的輸出是:
DejaVu Sans DejaVu Sans Display DejaVu Sans Mono DejaVu Serif DejaVu Serif Display Humor Sans Liberation Mono Liberation Sans Liberation Sans Narrow Liberation Serif STIXGeneral STIXNonUnicode STIXSizeFiveSym STIXSizeFourSym STIXSizeOneSym STIXSizeThreeSym STIXSizeTwoSym Taipei Sans TC Beta cmb10 cmex10 cmmi10 cmr10 cmss10 cmsy10 cmtt10
發現有一個 "Taipei Sans TC Beta" 台北黑體Taipei Sans TC 繁體中文 可以直接使用
注意! 這邊這個字形不一定會有,沒有中文字形就需要自行下載與載入
不知道是哪一個熱心的大大讓 google 放進去的
感謝拉~~
然後就可以指定style 進去 mplfinance 了
import matplotlib.pyplot as plt import mplfinance as mpf plt.rcParams['font.sans-serif'] = ['Taipei Sans TC Beta'] plt.rcParams['axes.unicode_minus'] = False mpfStyle = mpf.make_mpf_style(base_mpf_style='yahoo', rc={'font.family':'Taipei Sans TC Beta'}) ... mpf.plot(stock_datas, type='candle', volume=True, style=mpfStyle, title=stock_code+" "+stock_name+":"+start_date+'~'+end_date, ylabel='Price', ylabel_lower='Volume')
重點就是在於指定 style 進去就可以
這樣就能顯示中文了
給大家參考囉~
留言板
歡迎留下建議與分享!希望一起交流!感恩!