質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

793閲覧

(macです)networkxで作成した日本語部分が豆腐になってしまう。matplotlibrcファイルを書き換えをしようとしたが、上手くファイルに辿り着かなくて困っています。

san_3_san

総合スコア7

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2022/04/24 07:22

編集2022/04/24 09:51

 networkxを使って無向グラフを作成、matplotlibで可視化しようとしたところ、日本語部分が豆腐になってしまいました。

一番簡単そうな japanize_matplotlib のインポートでは通常のmatplotlibのグラフの文字化けは直ったものの、networkxではダメでしたので、下記リンク先を参考にmatplotlibrcファイルを書き換えを試しています。
https://www.yutaka-note.com/entry/matplotlib_japanese#matplotlibrcファイルを書き換え

ひとまず、IPAexGithic をhttps://min117.hatenablog.com/entry/2021/11/03/100509
のサイトでインストールし、matplotlibrcファイルを書き換えを行おうとファイルの場所を検索しましたが、表示されたのは
/opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc'

となっていて、C:\Users\ユーザー名\ の表記がなく、ファイルの場所にたどり着くことが出来ません。

お手数ですが、アドバイス等頂けるとありがたいです。
以上、よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

san_3_san

2022/04/24 08:43

コメントありがとうございます。 print(mpl.get_configdir())で /Users/xxxx/.matplotlib と出たので、matplotlib/mpl-data/matplotlibrc' のテキストファイル内を font.family : IPAexGothic に書き換えました。 また、matplotlib/mpl-data/fonts/ttf 内に ipaexg.ttfを格納して、再度試しましたが、豆腐のままで改善しませんでした…
jbpb0

2022/04/24 08:49

私が紹介したWebページの「フォントキャッシュの削除」と「フォントをmatplotlibに認識させる」に書かれてることを全部やりましたでしょうか?
jbpb0

2022/04/24 08:53

> /Users/xxxx/.matplotlib と出たので、matplotlib/mpl-data/matplotlibrc' のテキストファイル内を font.family : IPAexGothic に書き換え /opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data にある「matplotlibrc」を /Users/xxxx/.matplotlib にコピーして、それを書き換えるのですが、そうしましたでしょうか?
jbpb0

2022/04/24 12:42

> C:\Users\ユーザー名\ の表記がなく 「C:\Users\...」はWindowsのパス表記です 質問者さんが使ってるのがMacなら「/Users/...」となります
jbpb0

2022/04/25 04:21 編集

追加したフォントではなく、「Hiragino sans」とかのMacのOSに元々入ってて日本語表示に使えるフォントを使えば、「フォントキャッシュの削除」とかをしなくても大丈夫です 下記コードを実行したら、(「japanize_matplotlib」を使わなくても)日本語を表示可能なはずです import matplotlib as mpl import matplotlib.pyplot as plt font = {'family':'Hiragino Sans'} mpl.rc('font', **font) plt.plot([0,1], [0,1]) plt.title('tofu - 豆腐 ー とうふ') plt.show() 上記のようにコード内でフォントを指定するのではなく、「matplotlibrc」で「font.family : Hiragino sans」と設定しても同様に可能です https://www.teamxeppet.com/python-matplotlib-in-japanese/
jbpb0

2022/04/25 09:06 編集

このあたり見ると、「networkx」の日本語表示の設定は、「matplotlib」のplotとかでの日本語表示の設定とはやり方が違うようです https://propen.dream-target.jp/blog/networkx_sample https://ja.stackoverflow.com/questions/63669/networkx%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8Bmatplotlib%E3%81%A7%E3%81%AE%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%A1%A8%E8%A8%98 この質問は、あくまでも「matplotlibrc」はどこにあるのか? という質問であり、そのファイルで適切に設定すれば「networkx」でも日本語表示ができる、という前提ですが、その前提が間違ってるということはありませんでしょうか?
san_3_san

2022/04/25 09:07

色々コメント頂き、ありがとうございました。 1つ上の方法で行ったところ、普通のグラフ化の時には日本語表記出来る様になりましたが、networkxでは豆腐になってしまいました。 エラーは以下の通りですが、もう少し試してから改めて質問しようと思っています。 /opt/anaconda3/lib/python3.7/site-packages/matplotlib/backends/backend_agg.py:201: RuntimeWarning: Glyph 12376 missing from current font.
guest

回答1

0

このあたり見ると、「networkx」の日本語表示の設定は、「matplotlib」のplotとかでの日本語表示の設定とはやり方が違うようです
【日本語対応】NetworkX(V2)の使い方!最も行数が少ないPythonサンプル
networkxにおけるmatplotlibでの日本語表記

投稿2022/05/09 07:27

jbpb0

総合スコア7651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問