Python - настройки фигуры в цикле построения - PullRequest
0 голосов
/ 05 мая 2020

enter image description here Привет, у меня небольшая проблема, я сделал al oop, который создает 3 графика на каждой итерации и устанавливает текст на метке x для поворота, но это работает только для последнего рис. строка. Не знаю, как повлиять на первую и вторую цифру.

  def multi_scatter(x_list, y):
    sns.set(style='whitegrid', rc={"grid.linewidth": 0.2})
    sns.set_context("paper", font_scale=2)  
    for x in range(0, len(x_list)):
      if x == 0 or x % 3:
        chart = sns.pairplot(data=ds_train,
        y_vars=[y],
        x_vars=[x_list[x], x_list[x+1], x_list[x+2]],
        height = 10)
        plt.xticks(rotation = 45)
        plt.show()
      else:
        continue

Заранее благодарю

1 Ответ

0 голосов
/ 05 мая 2020

Это потому, что вы определили chart, но никогда не извлекали оси из chart. Вам нужно указать, что это за оси, чтобы установить xticklabels. Попробуйте добавить эти строки в свой код (см. Внутренний for l oop):

def multi_scatter(x_list, y):
    sns.set(style='whitegrid', rc={"grid.linewidth": 0.2})
    sns.set_context("paper", font_scale=2)  
    for x in range(0, len(x_list)):
        if x == 0 or x % 3:
            chart = sns.pairplot(data=ds_train,
                                 y_vars=[y],
                       x_vars=[x_list[x], x_list[x+1], x_list[x+2]],
                       height = 10)
            for ax in chart.axes.flat:
                 ax.tick_params(axis='x', labelrotation=45 )

         else:
             continue

Я не тестировал его без доступа к вашим данным, поэтому сообщите мне, работает ли он!

...