gpt4 book ai didi

r - 在 R 中创建分组条形图

转载 作者:行者123 更新时间:2023-12-04 09:36:40 25 4
gpt4 key购买 nike

我在 R 中有一个数据框 df,如下所示:

        D     C     B     E     K     R
Rd 80 80 80 80 80 80
Sw 100 100 100 100 100 100
Sf 100 100 100 100 100 100

我试图在条形图中绘制数据。我需要 y 轴的范围是 0-100,x 轴是类别名称。基本上,我需要它看起来像这样:
100 |               _ _ _ _ _ _    _ _ _ _ _ _
|_ _ _ _ _ _ | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | |
0 |_|_|_|_|_|_|__|_|_|_|_|_|_|__|_|_|_|_|_|_|_
D C B E K R D C B E K R D C B E K R
Rd Sw Sf

所有 D 的颜色相同,所有 C 的颜色相同,依此类推。

我不确定如何执行此操作或使用哪些库。

到目前为止,我有:
counts <- as.matrix(df$D, df$C, df$B, df$E, df$K, df$R)

barplot(counts, beside = TRUE, space = c(0, 0, 0, 0, 0, 0), xlab = "",
col = c("coral", "coral1", "coral2", "coral3", "coral4", "cornflowerblue"),
names.arg = c("D", "C", "B", "E", "K", "R"))
mtext(side = 1, text = "x label", line = 7)

但它只显示如下内容:
100 |  _ _   _ _
|_| | |_| | |
| | | | | | |
| | | | | | |
| | | | | | |
0 |_|_|_|_|_|_|_
D C B E K R
x label

我不确定为什么我只得到这个。

任何帮助将非常感激。

最佳答案

set.seed(1)
df <- data.frame(groups = rep(c("Rd", "Sw", "Sf"), each=6),
bars = rep(c("D", "C", "B", "E", "K", "R"), 3),
values = sample(1:100,18))
library(ggplot2)
ggplot(df, aes(x=bars, y=values, fill=bars)) +
geom_bar(stat="identity", position="dodge") +
facet_wrap(~groups, ncol=3)

结果:见下图。

或者,如果您从问题中获取数据框:
df <- read.table(sep=" ", header=T, text="
D C B E K R
Rd 80 80 80 80 80 80
Sw 100 100 100 100 100 100
Sf 100 100 100 100 100 100")

df$facet <- row.names(df)
library(reshape2)
df.long <- melt(df, "facet")
ggplot(df.long, aes(x=variable, y=value, fill=variable)) +
geom_bar(stat="identity", position="dodge") +
facet_wrap(~facet, ncol=3)

enter image description here

关于r - 在 R 中创建分组条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20985284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com