matplotlibのデフォルトのプロットスタイルを設定して、パブリケーション品質の数値を設定する関数のセットを定義しようとしています。私はrc
コマンド(またはmatplotlib.rcParams['key'] = value
)を使ってこれをやっています。 matplotlib.rcParams.keys()
を使用して利用可能なオプションのリストを見つけました。たぶん私は何かが欠けているかもしれませんが、scatter
とerrorbar
のようなものではいくつかのオプションが欠けているようです。例えばエラーバーのデフォルト設定rcParams matplotlib
from matplotlib import rc, cycler
# DATA GLOBALS
DATA_LINE_COLOR = 'black'
DATA_LINE_STYLE = '-'
DATA_LINE_WIDTH = 0.5
MODEL_LINE_COLOR = 'red'
MODEL_LINE_STYLE = '-'
MODEL_LINE_WIDTH = 0.7
# AXES GLOBALS
AXES_LINE_WIDTH = 0.5
AXES_MAJOR_TICK_LENGTH = 5
AXES_MINOR_TICK_LENGTH = AXES_MAJOR_TICK_LENGTH/2.
AXES_TICK_DIRECTION = 'in'
# FIGURE GLOBALS
ONE_COL_WIDTH = 3.46
TWO_COL_WIDTH = 7.09
DPI = 800
def general():
"""
General settings for all plot types. Call this first,
then call any cascading style required
"""
rc('font', family='Times New Roman', size=10)
rc('text', color='black')
rc('figure', dpi=DPI)
rc('axes',
xmargin=0.05,
ymargin=0.05,
linewidth=AXES_LINE_WIDTH,
prop_cycle=cycler('color',['black']))
rc('axes.formatter', limits=(-4, 4))
rc('xtick', direction=AXES_TICK_DIRECTION)
rc('xtick.major',
size=AXES_MAJOR_TICK_LENGTH,
width=AXES_LINE_WIDTH)
rc('xtick.minor',
visible=True,
size=AXES_MINOR_TICK_LENGTH,
width=AXES_LINE_WIDTH)
rc('ytick', direction=AXES_TICK_DIRECTION)
rc('ytick.major',
size=AXES_MAJOR_TICK_LENGTH,
width=AXES_LINE_WIDTH)
rc('ytick.minor',
visible=True,
size=AXES_MINOR_TICK_LENGTH,
width=AXES_LINE_WIDTH)
、errorbar
の場合errorbar.capsize
で調整する唯一のオプションがあります。私はerrorbar.ecolor
とerrorbar.elinewidth
などの他のオプションを期待していたでしょう。rcパラメータでこれらのデフォルトを設定することは可能ですか?他の場所から継承されているかもしれませんか?
ax.errorbar
を呼び出すたびに明示的に設定できることは分かっていますが、同僚とデフォルトのパラメータを設定する一連の関数を共有したいので、一貫性のある数値を生成できます。
あなたの答えをありがとう。それを回線にリンクするのは奇妙に思われますが、デフォルトを明示的に異なるように設定する機能はありません。たとえば、薄い灰色の棒と黒い点をプロットすることによって、エラーバーの強調表示を削除したい場合は、エラーバーの線を設定すると、プロット内の他の線が消えます。多分、これをより柔軟にするためにmatplotlibで改善する余地があります。私は問題トラッカーでこれを提案することができます。 –