#python #matplotlib #subplot
#python #matplotlib #подзаголовок
Вопрос:
У меня небольшая проблема, я создал много разных подзаголовков. Но я хотел бы всегда иметь одинаковый размер для графиков в подзаголовках. Это мой результат и мой сценарий.
Спасибо
for univers in dict_contrib:
number_plot = 2
test = (math.ceil((len(dict_contrib[univers]['MTD'])/number_plot)))
# fig, axs = plt.subplots((math.ceil((len(dict_contrib[univers]['MTD'])/number_plot))),number_plot,figsize=(12,8),sharex=True)
fig, axs = plt.subplots((math.ceil((len(dict_contrib[univers]['MTD'])/number_plot))),number_plot, figsize=(11.69,6),gridspec_kw = {'height_ratios':[1]*test,
'width_ratios':[1,1]},sharex=True)
fig.subplots_adjust(bottom=0.1, top=1)
fig.suptitle( f'Contributions - MTD {univers}',y=1,x=0)
for ax,ptf in zip(axs,split_dict(dict_contrib[univers]['MTD'],math.ceil((len(dict_contrib[univers]['MTD'])/number_plot)))):
itera_rows = []
if not isinstance(ax,np.ndarray) : ax = [ax]
for rows,ptf_selection in zip(ax,ptf):
rows.title.set_text(dict_ptf_info[ptf_selection]['name'])
rows.hlines(y=dict_contrib[univers]['MTD'][ptf_selection]['instrument'], xmin=0, xmax=dict_contrib[univers]['MTD'][ptf_selection]['contribution'],color=dict_contrib[univers]['MTD'][ptf_selection].colors, alpha=0.4, linewidth=8)
for x, y, tex in zip(dict_contrib[univers]['MTD'][ptf_selection]['contribution'], dict_contrib[univers]['MTD'][ptf_selection].index, dict_contrib[univers]['MTD'][ptf_selection]['contribution']):
t = rows.text(x, y, round(tex, 2), horizontalalignment='right' if x < 0 else 'left',
verticalalignment='center', fontdict={'color':'red' if x < 0 else 'green', 'size':8})
rows.spines['right'].set_visible(False)
rows.spines['left'].set_visible(False)
rows.spines['top'].set_visible(False)
rows.axvline(x=0, color='black', linestyle='-', linewidth=1)
itera_rows.append(rows)
rows_off = set(ax)-set(itera_rows)
for charts in list(rows_off):
charts.axis('off')
fig.tight_layout()
Комментарии:
1. seaborn.pydata.org/generated/seaborn . FacetGrid.html
2. Я должен создать другой сюжет, а не только один сюжет со всем сюжетом в
3. Не могли бы вы использовать более одной facetgrid
4. в чем именно вопрос?
5. используется
fig.add_axes([left, bottom, width, height])
для ручного размещения осей… matplotlib.org/api/_as_gen/…