Есть ли способ условно установить шкалу Y в Seaborn?

Я использую facetgrid для построения нескольких наборов данных с Seaborn.

Мои столбцы «Параметр1», которые содержат категории «А» и «Б». Мои строки "Параметр2", которые содержат категории "1" и "2"

Ax1 и Ax2 лучше всего отображать в линейном масштабе. Bx1 и Bx2 лучше всего отображать в логарифмическом масштабе. Есть ли способ условно установить yscale для логарифмического или линейного в зависимости от моего Parameter1? Я пытался найти хороший способ сделать это, но не смог что-то понять. Извините, еще новичок.

Пример моего кода ниже. Любая помощь приветствуется!

g = sns.FacetGrid(df,col="parameter1", row="parameter2", 
                  hue='Conditions', sharex=True, height=6, aspect=2, 
                  margin_titles=True)

(g.map(sns.lineplot, "x_values", "y_values", marker="o", err_style="bars", linewidth=5, 
       markersize=13))
g.set(xlim=(0,40), xticks=[0, 5, 10, 15, 20, 25, 30, 35, 40], yscale='log')


person squirrelgirl33    schedule 25.01.2020    source источник


Ответы (1)


.set_yscale("журнал") не был распознан мной как функция (может быть, проблема с версиями?). Тем не менее, вы действительно помогли мне понять, как форматируется информация об осях. В итоге я использовал это.

for x in range(3):
    g.axes[x,1].set(yscale="log", ylim=(0.001,1.2))
person squirrelgirl33    schedule 27.01.2020
comment
g.axes[0,1].set_yscale("log") хорошо работает в любой версии. - person ImportanceOfBeingErnest; 27.01.2020