Как задать цвет линии с заданным значением rgb?

#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, )  

Результат:

введите описание изображения здесь