Мы можем добавить новый столбец с именем variable_grouping
к вашим данным, а затем указать fill
в aes
:
mat <- reshape2::melt(data.frame(dat), id.vars = NULL)
mat$variable_grouping <- ifelse(mat$variable %in% c('X1', 'X2', 'X3'), 'g1',
ifelse(mat$variable %in% c('X4','X5','X6'),
'g2', 'g3'))
ggplot(mat, aes(x = variable, y = value, fill = variable_grouping)) +
geom_violin(scale="width",adjust = 1,width = 0.5)
Вы можете управлять группировками, используя оператор ifelse
.scale_fill_manual
может использоваться для указания различных цветов, используемых для заполнения скрипок.