我試圖定義一組設置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中有這方面的改進空間讓它更加靈活。我可以在問題跟蹤器中提出這個建議。 –