#python #matplotlib #seaborn
#питон #matplotlib #сиборн
Вопрос:
У меня есть seaborn.lineplot()
и список значений rgb , таких как [26,201,55]
.
Я не знаю, какой параметр я могу задать, sns.lineplot
чтобы изменить цвет по своему желанию. Вот мой неправильный код:
sns.lineplot(x='Episode',y='Mean Reward',sizes=(.25,.25),hue='Agent', data=df[0], palette=[r_rl/255,g_rl/255,b_rl/255]))
Ответ №1:
Существует параметр palette
для определения цветов, palette
это просто список цветов, определенных как tuples
с 3 значениями от 0 до 1.
Если у вас есть один цвет, вы можете использовать:
palette=[(r_rl/255, g_rl/255, b_rl/255)]
Но для нескольких цветов:
rgb = [(66, 135, 245), (255, 25, 0)] # first blue, second red colors = [tuple(t / 255 for t in x) for x in rgb]
А затем используйте:
sns.lineplot( x="Episode", y="Mean Reward", sizes=(0.25, 0.25), hue="Agent", data=df[0], palette=colors, )
Случайный пример:
import seaborn as sns import matplotlib.pyplot as plt rgb = [(66, 135, 245), (255, 25, 0)] colors = [tuple(t / 255 for t in x) for x in rgb] sns.set() fmri = sns.load_dataset("fmri") ax = sns.lineplot( x="timepoint", y="signal", hue="event", data=fmri, palette=colors, )
Результат: