matplotlibで日本語を扱う場合の問題点をまとめてみます。 matplotlibでは既定のフォントが DejaVu Serif になっており、日本語は豆腐になってしまう。英語フォントの足りない部分を日本語フォントにリンクする機能がないので、日本語を表示しようと思ったら、日本語フォントを指定する必要があります。 日本語用フォントの殆どがttcフォントファイルであるが、matplotlibではttcフォントファイルに対応していない。例えば、Windowsの場合だと、MSゴシック、MS明朝、メイリオ、游ゴシックというよく使われているフォントがttcである。 ver 3.1.0 から、ttcフォントファイルに対応したので PC だと新しくフォントをインストールする必要はなくなりました。ただし、次の問題は残っています。(2019/4/29 5/19 修正、以下についても大幅に修正しています。)
![matplotlibで日本語](https://cdn-ak-scissors.b.st-hatena.com/image/square/c9cc1dc69f67ccb9b7353255e81ba872b8801da9/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9bWF0cGxvdGxpYiVFMyU4MSVBNyVFNiU5NyVBNSVFNiU5QyVBQyVFOCVBQSU5RSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YjM2MDNiOGY1YTAyMjc0ODA5MTZiNzYwMTdhMjNjNzU%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQweW5pamkmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTZmNThiMTA3YjIwOWNlZGZjYTQyMjAyMzVkZDkzODY4%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dc9af4291b406e21cc675a31906a9b45d)