我需要在4个组中绘制2个类别的比率,以便进行易于理解的比较。
到目前为止,我这样做了,得到了2个地块:
x <- c(0.50, 0.53, 0.49, 0.47)
names(x) <- c("Mütter über Söhne", "Mütter über Töchter", "Väter über Söhne",
"Väter über Töchter")
barplot(x, xlab= "Gruppe", ylab = "Anteil Wörter abstrakt-logisch ", main =
"abstrakt-logisch")
x1 <- c(0.51, 0.54, 0.46, 0.49)
names(x1) <- c("Mütter über Söhne", "Mütter über Töchter", "Väter über Söhne", "Väter über Töchter")
barplot(x1, xlab= "Gruppe", ylab = "Anteil Wörter kreativ-verbal ", main = "kreativ-verbal")
我想比较4组中2个类别中单词的比率。因此,在“MütterüberSöhne”组中,类别1的第一比率(0.50)与类别2的第一比率(0.51)相比较。我还需要为x轴=“组”和y轴=“单词比率”命名。 它应该看起来像这样:
有人可以帮我吗?
答案 0 :(得分:1)
如果您不熟悉ggplot2
,则可以使用这种基本方式。
x1 <- c(0.50, 0.53, 0.49, 0.47)
x2 <- c(0.51, 0.54, 0.46, 0.49)
group <- c("group1", "group2", "group3", "group4")
plot.new()
plot.window(xlim = c(1, 20), ylim = c(0, 0.6))
abline(h = 0:6/10, col = "grey")
barplot(rbind(x1, x2), beside = T, space = c(0.5, 2), axes = F,
col = c("grey10", "grey"), xlab = "groups", ylab = "ratios of words",
names.arg = group, add = T)
legend(x = "topright", legend = c("category 1", "category 2"),
fill = c("grey10", "grey"), box.col = NA)
mtext(0:6/10, side = 2, at = 0:6/10)
space
由两个数字指定,其中第一个是同一组中的小节之间的间隔,第二个是组之间的间隔。
答案 1 :(得分:1)
这是您的正确答案。您需要首先以适当的方式定义数据集:
dt<-data.frame(
group= c("Mütter über Söhne", "Mütter über Töchter", "Väter über Söhne", "Väter über Töchter"),
category=c("category1","category1","category1","category1", "category2","category2","category2","category2"),
ratio= c(0.50, 0.53, 0.49, 0.47, 0.51, 0.54, 0.46, 0.49))
head(dt)
然后使用ggplot绘制
library(ggplot2)
ggplot(data=dt, aes(x=group, y=ratio, fill=category)) +
geom_bar(stat="identity", position=position_dodge())+
scale_fill_brewer(palette="Paired")+ #Remove background
theme(axis.line = element_line(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank())
最后的输出是: