Я хочу построить барплот, как на рисунке. Я хочу, чтобы каждая ячейка была окрашена в зависимости от суммы значений в других столбцах. . Я сделал воспроизводимый пример здесь.
library(reshape)
library(ggplot2)
values= replicate(4, diff(c(0, sort(runif(92)), 1)))
colnames(values) = c("A","B","C","D")
counts = sample(10:100, 93, replace=T)
df = data.frame(cbind(values,"count"=counts))
mdf = melt(df,id="count")
mdf = mdf %>%
mutate(binCounts = cut(count, breaks = seq(0, 100, by = 5)))
plot = ggplot(mdf) +
geom_bar(aes(x=binCounts, fill=variable)) +
theme(axis.text.x=element_text(angle = 90, hjust=1))
print(plot)
Я хочу считать по оси Y. Для каждого бара я хочу построить пропорцию данных из столбцов ABC и D. Однако с приведенным выше кодом он имеет тенденцию отображать количество переменных, а не сумму.
geom_bar
отображает количество наблюдений. Используйтеgeom_col
, предоставив значение y (я предполагаю, что вы хотитеy = count
) для вашегоaes
и посмотрите, работает ли это. - person camille   schedule 23.04.2018