はじめに
Snowflake、ちょっとずつ活用し始めています。
ほかのPython環境同様、Notebookでもグラフを描画したときに日本語ラベルが文字化けして豆腐化してしまうことがありますが、めちゃ簡単に解決できます。
IPAフォントをダウンロードする
フリーの日本語フォントです。商用・非商用問わず無償で利用できます。
ダウンロード先:
文字情報技術促進協議会が無料で配布しているIPAexGothicを使ってみました。パッケージになってるのでお好みのものを使ってください。
手順
1. IPAフォントをダウンロード
上記のダウンロードページから zip ファイルを取得し、解凍します。
ipaexg00401.zip
└── ipaexg.ttf ← 今回はこちらを使ってみました。
2. Snowflake Notebooks の Workspace にアップロード
Snowflake Notebooks の左側ファイルペインから、フォントファイルをアップロードします。
- Notebooks を開く
- 左のファイルツリーで作業中のフォルダを右クリック
- 「ファイルをアップロード」 を選択
- 先ほどDLしたipaexg.ttfを選択してアップロード
アップロード後、ファイルツリーに .ttf ファイルが表示されれば OK です。
今回は直下に置いています。
3. Notebook でフォントを設定するコード
matplotlibを利用の場合、以下のコードをセルの先頭に追加します。
import matplotlib.pyplot as plt
from matplotlib import font_manager as fm
FONT_PATH = "ipaexg.ttf"
fm.fontManager.addfont(FONT_PATH)
jp_font = fm.FontProperties(fname=FONT_PATH)
今回は直下に置いているため、ファイルをそのまま指定します
では、適当なグラフを描画してみましょう。
import matplotlib.pyplot as plt
from matplotlib import font_manager as fm
FONT_PATH = "ipaexg.ttf"
fm.fontManager.addfont(FONT_PATH)
jp_font = fm.FontProperties(fname=FONT_PATH)
months = [1, 2, 3]
values = [100, 150, 130]
plt.figure(figsize=(8, 4))
plt.plot(
months,
values,
marker="o",
linewidth=2
)
plt.xticks(months, ["1月", "2月", "3月"], fontproperties=jp_font)
plt.title("人数分析", fontproperties=jp_font)
plt.xlabel("月", fontproperties=jp_font)
plt.ylabel("人数", fontproperties=jp_font)
plt.grid(alpha=0.3)
plt.show()
上記を実行して、日本語ラベルが正しく表示されれば成功です!
まとめ
セッションをまたいでも Workspaceのファイルは保持されるので、都度読み込まれます。
日本語テキストを含むデータ分析やレポート作成をNotebooksで行う際に、ぜひ活用してください!
標準で日本語対応してほしいなぁ。

