在ggplot中是否可以使用以下数据:
months <-rep(c("jan", "feb", "mar", "apr", "may", "jun",
"jul", "aug", "sep", "oct", "nov", "dec"), 2)
chickens <-c(1, 2, 3, 3, 3, 4, 5, 4, 3, 4, 2, 2)
eggs <-c(0, 8, 10, 13, 16, 20, 25, 20, 18, 16, 10, 8)
values <-c(chickens, eggs)
type <-c(rep("chickens", 12), rep("eggs", 12))
mydata <-data.frame(months, values, type)然后..。
mydata$months <-factor(mydata$months,
levels = c("jan", "feb", "mar", "apr", "may", "jun",
"jul", "aug", "sep", "oct", "nov", "dec"))所以我可以像这样画出
p <-ggplot(mydata, aes(months, values))
p +geom_bar(stat = "identity", aes(fill = type), position = "dodge")但是,我不想创建鸡和蛋的关系图,而是想创建一个图,它显示了Total的值和鸡的值,所以基本上你会有一个列来表示总数,一个列比较鸡的百分比
类似这样的东西,但只针对total &鸡,所以我可以有另一个比较total和鸡蛋的图。

发布于 2020-11-19 10:34:53
您可以首先创建要打印的数据。
library(dplyr)
library(ggplot2)
mydata %>%
filter(type == 'chickens') %>%
bind_rows(mydata %>%
group_by(months) %>%
summarise(values = sum(values),
type = 'total')) -> data然后,您可以使用
ggplot(data) + aes(months, values, fill = type) +
geom_bar(stat = "identity", position = "dodge")

或堆叠图
ggplot(data) + aes(months, values, fill = type) + geom_bar(stat = 'identity')

https://stackoverflow.com/questions/64904265
复制相似问题