延續 Day 10 的 Colab 介紹文,本篇分享自己踩過的坑與填坑,並期待 Colab 真正能成為您程式開發的助力。
os.chdir()
改您的Google雲端硬碟資料夾位址即可)#Colab資料夾設定方法
#!pip install google.colab #如未安裝取消註解後執行
import os
from google.colab import drive
drive.mount('/content/drive')
##出現提示欄進行授權
os.chdir('/content/drive/My Drive/{你的google雲端硬碟資料夾位址}') #切換該目錄
os.listdir() #確認目錄內容
Colab 現在更方便的方法是在左側的工具列,選擇掛接雲端硬碟即可,更方便了。
當你開啟 Colab 互動環境,其實是開啟了一個虛擬機,你可以透過與雲端硬碟連結。在 Colab 左側程式碼的提示為下方兩行,執行後授權Colab與你的google雲端硬碟帳戶連結。
from google.colab import drive
drive.mount('/content/drive')
過程中會出現等待您的授權碼,請點選連結,複製授權碼貼回 Colab 等待的對話框即可。
進一步讓 Colab 能存取你指定的 Google 雲端硬碟路徑,你需要執行以下程式碼,讓 os
模組切換至您的 Google 雲端硬碟資料夾位址:
import os
os.chdir('/content/drive/My Drive/{Google雲端硬碟資料夾位址}')
要確定是否順利切換到指定目錄,可以用os.listdir()
檢查目錄之下檔案是否如預期,如果看到自己的資料夾目錄代表成功。
os.listdir() #確認目錄內容
注意事項:如果 Colab 要從外部下載安裝第三方套件(如Talib),記得先安裝好Talib再切換到自己的雲端硬碟目錄,不然執行時可能會有錯誤狀況,發生錯誤也別緊張,重啟服務即可。
# Colab 進行matplotlib繪圖時顯示繁體中文
# 下載台北思源黑體並命名taipei_sans_tc_beta.ttf,移至指定路徑
!wget -O TaipeiSansTCBeta-Regular.ttf https://drive.google.com/uc?id=1eGAsTN1HBpJAkeVM57_C7ccp7hbgSz3_&export=download
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib.font_manager import fontManager
# 改style要在改font之前
# plt.style.use('seaborn')
fontManager.addfont('TaipeiSansTCBeta-Regular.ttf')
mpl.rc('font', family='Taipei Sans TC Beta')
# Colab 進行matplotlib繪圖時顯示繁體中文
# 下載台北思源黑體並命名taipei_sans_tc_beta.ttf,移至指定路徑
!wget -O taipei_sans_tc_beta.ttf https://drive.google.com/uc?id=1eGAsTN1HBpJAkeVM57_C7ccp7hbgSz3_&export=download
!mv taipei_sans_tc_beta.ttf /usr/local/lib/python3.7/dist-packages/matplotlib//mpl-data/fonts/ttf
from matplotlib.font_manager import FontProperties
import matplotlib.pyplot as plt
# 自定義字體變數
myfont = FontProperties(fname=r'/usr/local/lib/python3.7/dist-packages/matplotlib/mpl-data/fonts/ttf/taipei_sans_tc_beta.ttf')
# !!!!後續在相關函式中增加fontproperties=myfont屬性即可!!!!
Python 的 matplotlib
是常用的數據分析/資料視覺化模組,因 matplotlib
預設字體不支援中文,中文顯示會出現一堆口口,繪圖要顯示中文需要修改相關設定,經過一番苦心找到解法,並且使用開源且可商用的「台北黑體」(感謝 翰字鑄造JT Foundry開源如此美觀大方的字體)。
!wget
下載字體/usr/local/lib/python3.6/dist-packages/matplotlib/mpl-data/fonts/ttf
fontproperties
屬性,新版就不用囉!!原解法如下:
plt.title("自訂標題",fontproperties=myfont)
plt.ylabel("自訂y軸",fontproperties=myfont)
plt.xlabel("自訂x軸",fontproperties=myfont)
ax.annotate('註解說明',fontproperties=myfont)
ax.set_title('自訂標題',fontproperties=myfont)
ax.set_xlabel('自訂x軸',fontproperties=myfont)
ax.set_ylabel('自訂y軸',fontproperties=myfont)
複製以下cell並執行即可
.ipynb
的筆記本檔案,而且他是個具有專屬 URL 的服務,你可以做到以下事情:
os.listdir()
指令確認資料夾已經能順利讀取, matplotlib 要更改環境變數才能繪圖顯示中文,本文的方法也試圖克服了 Colab 顯示結果。因Colab所使用的Python版本迄今(2023/6/2)已更新為3.10版(原文章為3.6版),請使用指令時確認版本狀況,懶人包修正如下,後續如有類似情形即可自行排除,謝謝:
# Colab 進行matplotlib繪圖時顯示繁體中文
# 下載台北思源黑體並命名taipei_sans_tc_beta.ttf,移至指定路徑
!wget -O taipei_sans_tc_beta.ttf https://drive.google.com/uc?id=1eGAsTN1HBpJAkeVM57_C7ccp7hbgSz3_&export=download
!mv taipei_sans_tc_beta.ttf /usr/local/lib/python3.7/dist-packages/matplotlib//mpl-data/fonts/ttf![](http://)
from matplotlib.font_manager import FontProperties
import matplotlib.pyplot as plt
# 自定義字體變數
myfont = FontProperties(fname=r'/usr/local/lib/python3.7/dist-packages/matplotlib/mpl-data/fonts/ttf/taipei_sans_tc_beta.ttf')
# !!!!後續在相關函式中增加fontproperties=myfont屬性即可!!!!
或採用 再次更新的懶人包,即可無視 Python 版本使用中文囉,且不用每次都增加 fontproperties=myfont
屬性,是不是更簡潔了!
# Colab 進行matplotlib繪圖時顯示繁體中文
# 下載台北思源黑體並命名taipei_sans_tc_beta.ttf,移至指定路徑
!wget -O TaipeiSansTCBeta-Regular.ttf https://drive.google.com/uc?id=1eGAsTN1HBpJAkeVM57_C7ccp7hbgSz3_&export=download
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib.font_manager import fontManager
# 改style要在改font之前
# plt.style.use('seaborn')
fontManager.addfont('TaipeiSansTCBeta-Regular.ttf')
mpl.rc('font', family='Taipei Sans TC Beta')
為了更方便使用,也獨立成Matplotlib顯示中文方法,之後直接貼上程式碼取用即可。