Как установить заголовок и ylims для участков в seaborn - PullRequest
0 голосов
/ 08 мая 2018

У меня есть такой код, который рисует 2 участка. Я хочу установить ylim и title для обоих субплотов, но он применяется только к последнему субплоту.

   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:
        plt.title(TREATMENTINSTID)
        plt.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

enter image description here

Что здесь не так? И почему первый субплот плывет или витает выше оси x?

1 Ответ

0 голосов
/ 08 мая 2018

Вы, вероятно, хотите установить заголовок и пределы для самих объектов осей, используя объектно-ориентированный 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...