Я застрял в том, что кажется легкой задачей, пытаясь раскрасить разные группы на графике рассеяния, который я создаю. У меня есть следующий пример кадра данных и графика:
test_df = pd.DataFrame({ 'A' : 1.,
'B' : np.array([1, 5, 9, 7, 3], dtype='int32'),
'C' : np.array([6, 7, 8, 9, 3], dtype='int32'),
'D' : np.array([2, 2, 3, 4, 4], dtype='int32'),
'E' : pd.Categorical(["test","train","test","train","train"]),
'F' : 'foo' })
# fix to category
# test_df['D'] = test_df["D"].astype('category')
# and test plot
f, ax = plt.subplots(figsize=(6,6))
ax = sns.scatterplot(x="B", y="C", hue="D", s=100,
data=test_df)
, который создает этот график:
Однако вместо непрерывной шкалы я бы хотел категориальная шкала для каждой из 3 категорий [2, 3, 4]. После того, как я раскомментировал строку кода test_df['D'] = ...
, чтобы изменить этот столбец на тип столбца категории для раскраски категории на участке морского побережья, я получаю следующую ошибку с графика морского побережья: TypeError: data type not understood
Кто-нибудь знает правильный способ преобразования этого столбца цифр c в столбец факторов / категорий, чтобы использовать его для раскраски?
Спасибо!