У меня есть кадр данных pandas с двумя категориями.
%pylab inline
import pandas as pd
import numpy as np
import seaborn as sns; sns.set();sns.set_style("whitegrid")
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
df['category'] = df['A'].mod(2)
df['category_2'] = df['B'].mod(3)
df
при его построении таким образом:
sns.lineplot(x='C', y='D', data=df, hue='category', size='category_2', style='category_2')
цвет постоянный для всех значений 0/1 из category
. Однако вместо этого я хочу указать конкретный c цвет (диапазон) для двух значений category
и настроить оттенок для создания этого цветового диапазона для 0/1 в зависимости от числового c размера category_2
.
редактировать
выглядит неплохо для первой попытки:
sns.relplot(x="D", y="D", hue="category", size="category_2",
palette=["b", "r"], sizes=(10, 100),
col="category", data=df)
, но не хватает:
- они должны быть ниже, а не рядом друг другу. РЕДАКТИРОВАТЬ: это можно решить, установив
col_wrap=1
- или даже лучше: используя row
напрямую - цвета являются двоичными и не затененными, т.е. я хотел бы наложить их, чтобы лучше сравнить