сгруппированная гистограмма

У меня есть следующие данные:

bin groupname   total_dist
0   rowA    377
0   rowA    306.6
0   rowB    2.1
0   rowB    110.6
1   rowA    918.1
1   rowA    463.2
1   rowB    798.2
1   rowB    1196
2   rowA    1295.1
2   rowA    1269.1
2   rowB    698
2   rowB    1022.1

Используя R, я хочу сделать гистограмму, где существует панель для rowA и панель для rowB для каждого мусорного ведра. Я могу сгруппировать total_dist одним или другим (plot(total_dist~bin) или plot(total_dist~groupname)). Но я не могу выяснить, как объединить их.

Я хочу что-то, что выглядит подобным этому примеру: example grouped bar graph

12
задан Community 8 February 2017 в 14:26
поделиться

1 ответ

Вот классическое решение. (Предположим, что ваш фрейм данных имеет имя df )

data <- tapply(df$total_dist, list(df$groupname,df$bin), sum)

barplot(data,beside=T,col=c("#ee7700","#3333ff")
,main="European Parliament Elections",xlab="Group",ylab="Seats")

legend(locator(1),rownames(data),fill=c("#ee7700","#3333ff"))

и вот решение с использованием ggplot2

library(ggplot2)
qplot(factor(bin),data=df,geom="bar",fill=groupname,weight=total_dist,position="dodge",
main = "European Parliament Elections", xlab="Group",ylab="Seats")

alt text

28
ответ дан 2 December 2019 в 05:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: