2016-09-04 8 views
1

この質問は好奇心がいっぱいです。 matplotlibの中でカスタム1に、デフォルトの図のサイズを変更するにはJupyterのMatplotlibのFigureサイズがJupyterのインライン展開でリセットされました

、1はその後

from matplotlib import rcParams 
from matplotlib import pyplot as plt 
rcParams['figure.figsize'] = 15, 9 

を行い、図は、選択されたサイズで表示されます。

今、私は新しい何かを発見しています(今の前に気づい/起こったことはありません):Jupyterノートブックで、

%matplotlib inline 

としてmatplotlibのをインライン化する場合、これは明らかにデフォルト値を復元rcParams辞書を上書き図形サイズ。したがって、サイズを設定できるようにするには、rcParams辞書の値を変更する前にmatplotlibの前にの値を変更する必要があります。

私はMac OS 10.11.6、matplotlibバージョン1.5.1、Python 2.7.10、Jupyter 4.1です。

+0

これは、インラインモードの仕組みを正確に表したものです。さらに掘り下げれば、プロットの背景も白く設定されていることがわかります。 – jakevdp

+0

@jakevdpその場合、インラインモードがどのように動作するのか、なぜそれがdictを上書きするのかを説明するのに便利な答えがあると思います。 –

答えて

3

IPythonのインラインバックエンドsets some rcParams初期化時。これは設定可能で、そしてあなた自身の設定でそれを上書きすることができます。

# in ~/.ipython/ipython_config.py 
c.InlineBackend.rc = { 
    'figure.figsize': (15, 9) 
} 

は、上記インラインバックエンドのセットは、あなたが完全にコントロールを取得することrcParamsのすべてを置き換えます。すでにインライン出力のためにうまく動作matplotlibのスタイルを持っている場合は、あなただけではすべてのものを残してバックエンドを伝えることができます。

c.InlineBackend.rc = {} 

あなたではなく全体を上書きするよりも、わずか数の値を変更したい場合は、することができます将来的には

c.InlineBackend.rc.update({'figure.figsize': (15, 9)}) 

は、インラインバックエンドはmatplotlibのの素敵な新しいスタイルの機構を介してそのデフォルトをやるべきこと、それはあなたの好みを尊重し、より容易なカスタマイズを可能にするという点でよりよい動作させる必要があります。辞書 .updateメソッドを使用します。

関連する問題