Код для воспроизведения проблемы, которую я имею:
library("data.table")
library("ggplot2")
DT<-data.table(team=c("Q1","Q2","Q3"), mon=c(3,5,2), tues=c(4,2,1), weds=c(4,2,5))
DT<-melt(DT,id.vars = "team", measure.name = c("mon","tues","weds"))
chartdata<-DT[,.(team, day=variable, score=value)]
ggplot(chartdata, aes(fill=day, y=score, x=team)) +#reorder(data3$Insurer, if(thisdir=="asc") {value} else {-value}))) +
geom_bar(position="dodge", stat="identity")
Это создает кластеризованную диаграмму. Мне нужно установить порядок по счету в понедельник (по убыванию), но я не вижу способа сделать это. Я попытался:
ggplot(chartdata, aes(fill=day, y=score, x=reorder(team, {-score}))) +
geom_bar(position="dodge", stat="identity")
, но это похоже на сортировку данных, измеренных по сумме понедельник - среда, а не только понедельник, как я хочу.
Возможно ли это? Большое спасибо!