Свойства линии квартилей в Морском скрипке - PullRequest
1 голос
/ 11 марта 2020

пытается выяснить, как изменить свойства линии (цвет, толщина, стиль и т. Д. c) квартилей на скрипочном участке морского волка.

Пример кода с их сайта:

import seaborn as sns

sns.set(style="whitegrid")

tips = sns.load_dataset("tips")

ax = sns.violinplot(x="day", y="total_bill", hue="sex",

                    data=tips, palette="Set2", split=True,linestyle=':',

                    scale="count", inner="quartile")

Default violinplot with quartiles

Желаемым результатом будет возможность изменить, например, цвет двух частей скрипки по отдельности, как, например, так, чтобы улучшить читаемость:

Desired output

Как я могу это сделать?

Благодарен за любые идеи

ОБНОВЛЕНИЕ: На основе на ответ @kynnem можно использовать следующее для изменения срединной и квартильной линий отдельно:

import seaborn as sns

sns.set(style="whitegrid")

tips = sns.load_dataset("tips")

ax = sns.violinplot(x="day", y="total_bill", hue="sex",

                    data=tips, palette="Set2", split=True,linestyle=':',

                    scale="count", inner="quartile")
for l in ax.lines:
    l.set_linestyle('--')
    l.set_linewidth(0.6)
    l.set_color('red')
    l.set_alpha(0.8)
for l in ax.lines[1::3]:
    l.set_linestyle('-')
    l.set_linewidth(1.2)
    l.set_color('black')
    l.set_alpha(0.8)

Результат:

ViolinModifiedLines

1 Ответ

2 голосов
/ 31 марта 2020

Вы можете получить доступ к строкам из переменной ax, используя следующую команду для установки типа линии, цвета и насыщенности:

 for l in ax.lines:
     l.set_linestyle('-')
     l.set_color('black')
     l.set_alpha(0.8)

Это создает solid черную линию для всех горизонтальных линий. Если вы можете выяснить, какие из линий на оси соответствуют вашим интересующим линиям, вы можете указать различные цвета и стили, как вы будете sh

...