Я построил сложенное изображение, используя jupyter. График получается хорошо, но метка на оси Y я не могу выровнять по центру.
MWE приведено ниже
import numpy as np
import pandas as pd
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator
from matplotlib.colors import ListedColormap, LinearSegmentedColormap
import matplotlib.gridspec as gridspec
import pylab
import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D
import matplotlib.lines as mlines
def fit_data():
fig = plt.figure(1,figsize=(15,15))
ax1= fig.add_subplot(511,)
ax1.scatter(data4['MJD'], data4['Favg'], marker='o', color='red', s=15)
ax1.errorbar(data4['MJD'], data4['Favg'], data4['Flux-err'], fmt='.', ecolor='black',color='red', elinewidth=1,capsize=3)
ax1.set_title('NGC 4151 - Year - 1993', size = 18)
ax2 = fig.add_subplot(512, sharex=ax1 )
ax2.scatter(data5['MJD'], data5['Favg'], marker='o', color='blue', s=15)
ax2.errorbar(data5['MJD'], data5['Favg'], data5['Flux-err'], fmt='.', ecolor='black',color='blue', elinewidth=1,capsize=3)
ax3 = fig.add_subplot(513, sharex=ax1 )
ax3.scatter(data6['MJD'], data6['Favg'], marker='o', color='green', s=15)
ax3.errorbar(data6['MJD'], data6['Favg'], data6['Flux-err'], fmt='.', ecolor='black',color='green', elinewidth=1,capsize=3)
ax4 = fig.add_subplot(514, sharex=ax1 )
ax4.scatter(data7['MJD'], data7['Favg'], marker='o', color='orange', s=15)
ax4.errorbar(data7['MJD'], data7['Favg'], data7['Flux-err'], fmt='.', ecolor='black',color='orange', elinewidth=1,capsize=3)
ax5 = fig.add_subplot(515, sharex=ax1 )
ax5.scatter(data8['MJD'], data8['Favg'], marker='o', color='sienna', s=15)
ax5.errorbar(data8['MJD'], data8['Favg'], data8['Flux-err'], fmt='.', ecolor='black',color='sienna', elinewidth=1,capsize=3)
plt.setp(ax1.get_xticklabels(), visible=False) # hide labels
fig.subplots_adjust(hspace=0) # remove vertical space between subplots
red_line = mlines.Line2D([], [], color='red', marker='o', markersize=5, label='NGC 4151 - 1325 $\AA$')
ax1.legend(bbox_to_anchor=(1, 1), loc=1, borderaxespad=0, handles=[red_line])
red_line = mlines.Line2D([], [], color='blue', marker='o', markersize=5, label='NGC 4151 - 1425 $\AA$')
ax2.legend(bbox_to_anchor=(1, 1), loc=1, borderaxespad=0, handles=[red_line])
red_line = mlines.Line2D([], [], color='green', marker='o', markersize=5, label='NGC 4151 - 1655 $\AA$')
ax3.legend(bbox_to_anchor=(1, 1), loc=1, borderaxespad=0, handles=[red_line])
red_line = mlines.Line2D([], [], color='orange', marker='o', markersize=5, label='NGC 4151 - 2475 $\AA$')
ax4.legend(bbox_to_anchor=(1, 1), loc=1, borderaxespad=0, handles=[red_line])
red_line = mlines.Line2D([], [], color='sienna', marker='o', markersize=5, label='NGC 4151 - 2725 $\AA$')
ax5.legend(bbox_to_anchor=(1, 1), loc=1, borderaxespad=0, handles=[red_line])
plt.xlabel('MJD $=$ 2985000 $-$ JD', ha='center',size=10)
plt.ylabel('Continuum Flux (E$-$14 erg s$^{-1}$ cm$^{-2}$ $\AA^{-1}$)',ha = 'left', va= 'bottom', size=10)
plt.tick_params(axis='both',which='minor',length=5,width=2,labelsize=18)
plt.tick_params(axis='both',which='major',length=8,width=2,labelsize=18)
plt.tick_params(direction='out', length=8, width=3)
plt.tick_params(labelsize=7.5)
plt.savefig("1993.jpeg")
fig.set_size_inches(w=13,h=10)
plt.show()
plt.close()
fit_data()
Если я увеличу размер шрифта, метка y будет перекрывать метки оси y. Также на нижней части поставленного изображения есть жирные галочки, которые не обязательны.