igraphでネットワーク図を描写したい時に日本語が表示されずに困っている方もいるのではないでしょうか。igraphをようやくインストールして、あともう少し、日本語を表示させることができたら!という人向けの記事です。
まだigraphをインストールできてない方
なぜigraphで日本語が表示されない?
igraphの実行コードを書いて、ネットワーク図を表示させたら日本語が表示されずに、□の文字しか出てこない現象が勃発しました。(上の画像の様に)
「はて、これはどうすれば?」と思いました。
きっと、日本語表示されないのは、igraphの図形描写のフォント設定に、日本語が含まれたフォントがないのだろうと。
日本語を表示する対処法
igraphで日本語を表示するのは、シンプルな話で「graph.py」のフォント設定を変更することです。
graph.pyは、使っているPCなどのローカル環境内の「igraph/drawing/」フォルダ配下にあるはずです。フォルダをチマチマ探すのが面倒な人は「graph.py」をフォルダ検索することで探せるはずです。
「graph.py」のフォント設定箇所は、「DefaultGraphDrawerクラス」にある以下のコードの箇所です。
1 2 |
context.select_font_face(vertex.font, \ cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_NORMAL) |
このコードを以下の様に修正します。
1 2 |
context.select_font_face("Hiragino Sans", cairo.FONT_SLANT_NORMAL, \ cairo.FONT_WEIGHT_NORMAL) |
こうすると、以下の描写になって成功です。