Вы, вероятно, хотите установить заголовок и пределы для самих объектов осей, используя объектно-ориентированный API. Это означает, что вы можете управлять заголовком и т. Д. На отдельном участке, что проще, чем plt.title
при использовании нескольких участков:
У вас уже есть объекты осей при создании фигуры fig, ax = plt.subplots(nrows = 2,ncols = 1)
. Поэтому измените настройки заголовка и ylim, используя set_title
и set_ylim
.
Ваш код становится:
TREATMENTINSTIDs = atg_cg.TREATMENTINSTID.unique()
sn.set_style('ticks')
fig, ax = plt.subplots(nrows=2, ncols=1)
fig.set_size_inches(10, 12)
i = 0
# plt.title(TREATMENTINSTID)
for TREATMENTINSTID in TREATMENTINSTIDs:
ax[i].set_title(TREATMENTINSTID)
ax[i].set_ylim(0, 1000)
sn.violinplot(x="group_type", y="arpu", hue='isSMS', ax=ax[i], cut=0,
data=atg_cg[atg_cg.TREATMENTINSTID == TREATMENTINSTID], inner="quartile", split=True,
title=TREATMENTINSTID)
sn.despine(left=True)
i = i + 1