Использование Seaborn расколоть скрипичные сюжеты и палитры - PullRequest
0 голосов
/ 03 мая 2018

Я создаю набор сгруппированных сюжетов для скрипки со следующим:

fig = plt.figure(1)

ax1 = fig.add_subplot(3,1,1)
sns.violinplot(x='x', y='y1', data=df_y1_all, split=True, inner=None, hue="hues_param", palette={"left":"r","right":"b"})
ax1.legend()

ax2 = fig.add_subplot(3,1,2)
sns.violinplot(x='x', y='y2', data=df_y2_all, split=True, inner=None, hue="hues_param", palette={"left":"r","right":"b"})

ax3 = fig.add_subplot(3,1,3)
sns.violinplot(x='x', y='y3', data=df_y3_all, split=True, inner=None, hue="hues_param", palette={"left":"r","right":"b"})
ax3.legend('')

plt.show()

, который создает что-то вроде следующего (я опускаю некоторые из чувствительных имен параметров, так как это уже опубликованная работа):

plot

Я хотел бы иметь градиент красных и градиент синих в соответствии с аргументом palette={"left":"r","right":"b"}, но когда я пытаюсь передать имена цветовых палитр, я получаю ошибку:

ValueError: Could not generate a palette for ['Blues', 'Reds'] или для любой другой названной палитры Seaborn.

Поскольку мои данные конфиденциальны, я не могу поделиться исходным кадром данных, но он основан на рабочем примере из документов :

import seaborn as sns
sns.set(style="whitegrid", palette="pastel", color_codes=True)

# Load the example tips dataset
tips = sns.load_dataset("tips")

# Draw a nested violinplot and split the violins for easier comparison
sns.violinplot(x="day", y="total_bill", hue="sex", data=tips, split=True,
               inner="quart", palette={"Male": "b", "Female": "y"})
sns.despine(left=True)

Который производит:

plot2

В любом случае можно управлять градиентом палитры или вызывать предварительно созданный градиент в аргументах графика?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...