2014-09-10 2 views
1

Когда я использую inset_axes, чтобы поместить вставку на фигуре, для небольших размеров рисунков метки меток для вставки будут перекрывать рамку осей. Есть ли способ настроить фигуру, чтобы избежать этой проблемы?Вставка метки matplotlib inset_axis имеет метки меток, перекрывающие основные оси

код:

fig, ax1 = plt.subplots() 

ax1.plot(dd1["mag"].index, dd1["mag"], '.-',label="$\omega$") 
ax1.plot(newindex,curvy1,'--', label="${0:.3f} \cdot I$".format(popt1[0])) 
ax1.set_xlim((5e11, 5e13)) 
ax1.set_ylim((2e-7,.25e-4)) 

ax1_inset = inset_axes(ax1, width="40%", height="40%", loc=4) 
ax1_inset.plot(dd1["mag"].index, (one - np.array(dd1["mag"]))/one) 
ax1_inset.plot(dd1["mag"].index, map(lambda x: -.01, dd1["mag"].index), ':') 
ax1_inset.set_xlim(5e11,5e13) 
ax1_inset.set_ylim(-.1,.05) 
ax1_inset.set_xscale("log") 

со значениями matplotlibrc:

matplotlib.rcParams['figure.figsize'] = '4,3' 

matplotlib.rcParams['axes.formatter.use_mathtext'] = 'True' 
matplotlib.rcParams['axes.formatter.useoffset'] = 'False' 

matplotlib.rcParams['figure.subplot.left'] = .22 
matplotlib.rcParams['figure.subplot.right'] = .95 
matplotlib.rcParams['figure.subplot.bottom'] = .20 
matplotlib.rcParams['figure.subplot.top'] = .90 

example figure

+0

Существует не механизм автоматической компоновки, вам придется возиться с местом размещения, размером и размером шрифта, чтобы заставить его работать. У IIRC 'inset_axes' есть pad kwarg. – tacaswell

+0

@tcaswell: напишите конкретный kwarg для заполнения в ответ, и я приму его. Это именно то, что я искал. –

+0

Если бы этого было достаточно, чтобы разобраться, можете ли вы написать ответ? Я не помню синтаксиса верхней части головы, у меня нет полосы пропускания, чтобы посмотреть ее/написать ее сегодня, и мне действительно не нужна репутация. – tacaswell

ответ

-3

kwarg "borderpad", как представляется, решить эту проблему.

+0

комментировать это ... –

+0

Не могли бы вы дать немного больше объяснений? – SiKing

Смежные вопросы