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

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

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

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

Python 3.x

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

Q&A

解決済

1回答

3314閲覧

Pythonのmatplotlibのデフォルト設定の変更が適応されない

sodiumplus3

総合スコア71

Matplotlib

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

Python 3.x

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

1グッド

0クリップ

投稿2019/04/21 07:35

Pythonのmatplotlibの線種や線の色のデフォルト設定を変更しようと、matplotlib.get_configdir()で確認したディレクトリにあったmatplotlibrcファイルを変更し保存したのですが、設定が適応されません。再起動など試してみましたが…。環境はAtomを普段使っていますが、ターミナルの対話モードなどでも試したのでエディタ特有の問題とも思えません。
どなたかご助言いただきたいです。

tiitoi👍を押しています

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

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

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

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

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

tiitoi

2019/04/21 08:06

Jupyter Notebook ではないですよね? import matplotlib.pyplot as plt したタイミングで設定が読み込まれると思います。
sodiumplus3

2019/04/21 08:11

ではないです。例えば、 ``` import matplotlib.pyplot as plt a = range(5) plt.plot(a,a) plt.show() ``` 例えばこんなコードを実行してもデフォルト設定のまま描画されます。
tiitoi

2019/04/21 08:34

デフォルトの matplotlibrc を~/.config/matplotlib/matplotlibrc にコピーしてきて、そこの matplotlibrc ファイルを変更しましたか?
sodiumplus3

2019/04/22 07:00

~/.config/matplotlib/matplotlibrcがよくわからないのですが、pythonの参照しているmatplotlibrcが/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrcだったのでそれを変更しました。
tiitoi

2019/04/22 07:08

そのファイルは設定ファイルの雛形なので、それを編集しても設定は反映されないと思いますよ。 OS はなにをお使いでしょうか。 Windows の場合、get_configdir() は通常 C:\Users\ユーザー名\.matplotlib のはずです。 そうでない理由はわかりませんが、以下の手順を踏めば、設定が反映されると思います。 1. C:\Users\ユーザー名 に .matplotlib という名前のフォルダを作成する。 2. /anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc をそのフォルダにコピーする 3. コピーした C:\Users\ユーザー名\.matplotlib\matplotlibrc を編集する。
sodiumplus3

2019/04/22 13:04

自分はMacなので/Users/<user-name>/.matplotlib/にmatplotlibrcの雛形をコピーして置いて、それを編集してみました。 しかしなぜか同様に設定が適応されません…。ちなみにget_configdir()は/Users/<user-name>/.matplotlib/matplotlibrcに変わりました。
tiitoi

2019/04/22 13:28

matplotlibrc の変更箇所は具体的にどの部分ですか 回答にいくつか考えられる原因を書きました。
sodiumplus3

2019/04/22 13:45

ありがとうございます。 いくつかありますが、一つはaxes.gridをTrueにした点です。しかしrcParamsはFalseになっていて訳がわかりません…。変更したファイルのディレクトリはちゃんとあっています。なお、キャッシュも一度消していました。
tiitoi

2019/04/22 13:50

回答に追記したように確認しましたが、変更が反映されました。 念の為確認ですが、設定を変更する際はコメント # をちゃんと外してますよね?
guest

回答1

0

ベストアンサー

以下のコードで参照している設定ファイルのパス及びパラメータを確認できます。

python

1import matplotlib.pyplot as plt 2import matplotlib as mpl 3print(mpl.matplotlib_fname()) 4print(mpl.rcParams['figure.titlesize']) # 'figure.titlesize' は変更したパラメータ名

しかしなぜか同様に設定が適応されません

原因として考えられるのは、パラメータの指定方法を間違えているという可能性です。その場合、デフォルト設定が読み込まれるので変更したはずなのに変わらない可能性もあります。

関係あるかはわかりませんが、一応以下のコードを実行すると表示される matplotlib のキャッシュも削除しておいたほうがよいでしょう。

python

1import matplotlib as mpl 2print(mpl.get_configdir())

追記

自分が確認した手順 (Linux)

1 . matplotlibrc を編集

一番下に以下を挿入

axes.grid : True

2 . 設定が反映されているか確認する。

import matplotlib as mpl print(mpl.rcParams['axes.grid'])

投稿2019/04/22 13:27

編集2019/04/22 13:50
tiitoi

総合スコア21956

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

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

sodiumplus3

2019/04/22 13:52

やっとわかりました。変えたと思っていたパラメータが、ずっとコメントアウトしてる状態でした。 浅薄な知識でお恥ずかしい限りです。丁寧にありがとうございました。
tiitoi

2019/04/22 14:03

無事解決できたようでよかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問