Closed1

SciencePlotsで日本語を使う

r4air4ai

エラーコード(一部抜粋)

! LaTeX Error: Unicode character 時 (U+6642)
               not set up for use with LaTeX.

なんかLaTeX側で日本語が使えないぞ!って怒られてる
SciencePlotではLaTeXを使ってるらしいので、それが原因でmatplotlib側だけで日本語フォントを設定しても反映されない

解決の指針

LaTeXのpreambleに

\usepackage[whole]{bxcjkjatype}

これを追加すれば多分良さげ[1]

解決法(linux)

  1. ~/.config/matplotlib/stylelib/ディレクトリ下にjapanese.mplstyleを作成する。
    osによって保存場所が異なる[2]ので注意。
  2. 下記コードを作ったファイルに記入する。
    text.latex.preamble: \usepackage[whole]{bxcjkjatype}
    
  3. scienceスタイルに追加する形で作成したjapaneseスタイルを読み込ませる。
    (実行したいpythonファイルの上らへんで下記コードを読み込む)
    plt.style.use(['science', 'japanese'])
    
  4. 表が表示できたら成功[3]
脚注
  1. https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10246874780 ↩︎

  2. https://note.nkmk.me/python-matplotlib-matplotlibrc-stylesheet/ ↩︎

  3. 筆者の実行環境はwsl+archlinuxです。 ↩︎

このスクラップは2022/07/08にクローズされました