Matplotlibでの文字化けの対処法には日本語化の設定をしよう!

不具合対処への奮闘
スポンサーリンク

初心者の独学でのプログラミング学習はとてもツライ…

プログラミングをマスターしたい!

今のIT業界はプログラミングエンジニアが不足していると言われています。
高収入の職業とも言われる分野もありますし、AI、機械学習、ディープラーニング、IOTといった注目される分野が目白押しです。

でも、いざ初心者がプログラミングをマスターしようとすると…

  • 本を読んだりネットの記事で自力で勉強しているけど限界を感じる
  • プログラミングスクールに定期的に通うのは面倒だ
  • 地方に住んでると家の近くにプログラミングスクールなんてない
  • どのプログラミング言語を学べばいいのか悩む
  • 実際の就職や転職にプログラミングが活かせるのか心配だ

など、プログラミングを自分で勉強しようとすると悩みが尽きません。

プログラミングに詳しい友人に教えてもらおうと思っても、そんな友人なんて滅多にいません。いたとしても細かく教えてくれるほど時間に余裕がある人はいないでしょう。

そんな独学でプログラミングをマスターするのに限界を感じてる方に、オンラインプログラミングスクールをがおすすめです。

おすすめのオンラインスクールはこちら

jupyter notebookのPythonでMatplotlibのグラフの描画をしている時、日本語でラベルを設定した時に文字化けして困っている人は多いでしょう。

実はMatplotlibはデフォルトでは日本語表記に対応していません。

ここではAnacondaを使っていることを前提として、Matplotlibを日本語化する方法をみていきましょう。(ここではMacの方法について説明しています。ライブラリのバージョンアップで起こるエラーへの対応も追記しました)

では、Matplotlibを日本語化する方法を順に見ていきましょう。

スポンサーリンク

無料フォント(IPAexGotic)をダウンロードする

Matplotlibを日本語化するには、まず、対応した日本語のフォントを入手します。どうもMacのデフォルトのフォントでは上手く対応していないようです。こちらのサイトからフォントを入手します。

IPAexフォント/IPAフォント | IPAフォントのダウンロードサイトです

ダウンロードサイトに移動します。

遷移したページをスクロールして、該当箇所からフォントをダウンロードします。

ここではIPAexゴシック(Ver.003.01の数字は異なる場合があります)をダウンロードします。

スポンサーリンク

フォントファイルをMatplotlibにインストール

ダウンロードしたファイルを解凍して、フォルダの中にあるipaexg.ttf というフォントファルを、Matplotlibのフォントフォルダttfの中に入れます。

フォントフォルダの位置は、macの場合は次のようになります。

/Users/(あなたのMacのHome名)/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf

※ macOS Catalinaに最新バージョンのAnacondaをインストールした場合、/Users/(あなたのMacのHome名)/opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf となっていると思います。以降の説明も適時読み替えてください。

スポンサーリンク

matplotlibrcファイルを書き換える

次は、matplotlibrcファイルを書き換えます。このファイルは、fontsフォルダと同じ階層にあります。

Macでの位置は次の場所になります。

/Users/(あなたのMacのHome名)/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/

この中にmatplotlibrcファイルがあります。

テキストエディタなどでこのファイルを開いて、「#font.family」が記述されている場所を探します。[command]+[F]で検索をかけると1ヶ所ヒットするはずです。

#font.family : sans-serif という場所がヒットしていると思います。

この文字列をコピーして次の行にでも貼り付け、それを次のように書き換えます。

font.family : IPAexGothic

先頭の#を削除していることに注意してください。

書き換えたらファイルを保存します。

以上で、matplotlibの日本語化の設定は完了です。(ただし、バージョンが古い場合)

しかし、matplotlibバージョンが進むと、このままではAnacondaではエラーになるようです。以下の追記で対処法を示しておきます。

スポンサーリンク

(追記)matplotlibのバージョンアップによるエラーへの対処法

これまでは、以上の対応で良かったのですが、matplotlibのバージョンアップによって上記の方法だけでは日本語化への対応ができず、次のようにエラーが表示されたりします。(私の場合はmacOSがアップデートしたタイミングで、Anacondaを再インストールして環境を構築し直したことでエラーが発生しました)

(これを表示するコードは最後に記載しています。)

表示が小さいですが、グラフの縦軸の表示のy軸の軸の字が文字化けしたままです。

そこで、これに対処するために、上記の方法に続けて以下のことを行います。

Anacondaが起動していないことを確認して、[command] + [shift] + [.(ドット)] キーを押して隠しファイルを表示させます。

Macの隠しファイルを表示させる方法(表示/非表示の切り替え)
Macで操作をしている時サーバーの設定などで.htaccessファルなどの隠しファイルを操作することがあります。ただしMacはそのままではこの隠しファイルが表示されていません。ここではMacの隠しファイルを表示させる方法を扱います。

そして次の位置にある隠しフォルダの中のファイルを探します。

Macの/Users/(あなたのMacのHome名)/.matplotlibフォルダに進みfontlist-v310.jsonというファイルがあるのを確認します。(バージョンによっては数字などは異なるかもしれません)

このJSONファイルを開くと冒頭は次のように記載されています。

このファイルを見ると、”ttflist”: [……]とい形で対応しているリストの中に、たくさんのフォントのデータがjson形式で記載されているのがわかります。

そのリストの中に、以下のように記載したIPAexGothicのフォントデータを追記します。

他のリストと見比べたらわかりますが、fnameのところをフォントファイルをインストールした位置に書き換え、nameをIPAexGothicと指定しているだけです。weightはregularにしました。

このコードを”ttflist”: [……]の先頭に書き込むと次のようになります。


辞書型データ{}の追記なので、最後のカンマ(,)を入れ忘れないようにしてください。

追記が終わったら、ファイルを保存します。(隠しファイルも非表示にしておきましょう)

以上で、matplotlibの日本語化の設定のエラー対応は完了です。次に記載したコードで表示を試してみましょう。

スポンサーリンク

最後に

以上で、jupyter notebookを使っている時に、Matplotlibのグラフの描画で日本語表記が文字化け(四角い表示なので豆腐と言ったりします)する現象は解消されるはずです。

jupyter notebookで、試しにコードを書いてみます。

ラベルに’y軸’と漢字を使っています。

ちょっと小さくて見えにくいですが、漢字で表示されているのがわかります。対処していないとここが□のような表示になっているはずです。

他にも対処法はあるようですが、とりあえずはこの方法でいいのではないでしょうか。

自宅学習はオンラインプログラミングスクールを活用!

自宅学習にはオンラインプログラミングスクールがおすすめ!

オンラインプログラミングスクールは独学でプログラミングを学習する時のデメリットを解消する仕組みが備わっています。

気になるところは…

学習がオンラインで完結するのはもちろんですが、独学ではできない質問サポートがあるかどうか。わからないことを現役のエンジニアが質問に答えてくれるといいですよね。

受講者個人に担当のメンターがつき、マンツーマンで学習の相談に乗ってくれることも必要で、ITエンジニアの世界についても伺えたりもすると幅が広がります。

オンライン面談だけでなく、チャット機能を使って気軽に質問を投げかけることができることも大切です。

また、オリジナルプロダクトの開発とサポートがコースの中に組み込まれていて、独学ではなかなか難しい実践的なスキルの習得にもつなげたい。

プログラミングをマスターした後の実際の仕事につながる転職サポートでがあると、ITエンジニアの世界に飛び込むのに不安が解消されます。

そんな豊富なメニューが揃っているおすすめのオンラインプログラミングスクールがこちらにあります。

おすすめのオンラインプログラミングスクールはこちら

TechAcademyはおすすめのオンラインプログラミングスクール!

オンラインのプログラミングスクールでは、テックアカデミーの充実度が目を見張ります。

オンラインで受講が完結するので、自宅学習でプログラミングをマスターしたい人にはテックアカデミーがおすすめです。

メンター制度も現役のプロが対応してくれます。大学生などが対応しているスクールに比べて本気度と専門性が違います。メンター制度の無いスクールもありますし、担当では無いメンターが対応するスクールもあったりするので、相談の質が違いますね。

チャットサポートもあるので、それが無いスクールに比べて相談の気軽さの違いがあります。

プロダクト開発のサポートで実践力が養われるだけでなく、どの講座を利用しても転職サポートが受けられるのはありがたい。

用意されているコースも、初心者向けのプログラミングコースから、Python、Java、PHP、iPhoneアプリ、AndroidといったITエンジニアのベースとなる主要な言語だけでなく、AI、データサイエンス、ブロックチェーン、webアプリケーションと行った実践的なコースまで用意しています。

他にも、webデザインやUI/UXデザイン、動画編集、webディレクションやwebマーケティングといったプログラミング以外での役立つコースまであります。

このようなたくさんの選択肢から自分にあったコースを選ぶことがでるのがテックアカデミーです。

コースの期間も短期間でマスターしたり、長期の受講でじっくり取り組むコースを選ぶこともできます。

複数講座のセットコースを利用することで大幅な割引が受けらるので、お得に受講することもできます。

無料体験もありますので、プログラミング学習でオンラインスクールを考えている人はTechAcademyをぜひ利用してみてください。

テックアカデミーの公式サイトはこちら

タイトルとURLをコピーしました