Често искам да запазя фигура на matplotlib без допълнително бяло пространство около ръба. Мога да използвам спецификация за нулево запълване в стегнато оформление или ограничено оформление, но те изрязват фигурата, без да вземат предвид ширината на линиите или бодлите близо до границата. Както е показано на течащото изображение, matplotlib често изрязва фигурата по плътна линия вместо външна пунктирана линия, отрязвайки двата края на синята крива линия. Чудя се дали има пряк начин да се реши този проблем с изрязването, без да се оставят допълнителни подплънки около фигурата.
По-долу е малък пример за представяне на текущия проблем, при който и долният, и десният гръбначен стълб са съкратени до половината от желаната ширина:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(2,2), constrained_layout=True)
fig.set_constrained_layout_pads(wspace=0, hspace=0, w_pad=0, h_pad=0)
ax.set_title('Clipped spines')
ax.set_ylabel('Bottom and right')
ax.set_xticks([])
ax.set_yticks([])
ax.tick_params(length=0)
for spine in ax.spines.values():
spine.set_color('red')
spine.set_linewidth(5)
fig.savefig('clipped_fig.png', dpi=300)