通过第四个变量的条形图颜色
Color by a bar graph by a fourth variable
所以,我正在尝试使用 ggplot2 创建一个条形图,它将通过第四个变量为图形的填充着色。
df = data.frame(c(1,1,2,2,3), c("A","B","C","D","E"), c(1:5 / 4), c("Y", "N", "Y", "N", "N"))
names(df)[1:4] <- paste("var", 1:4, sep = "")
df$var1 <- as.factor(df$var1)
df$var2 <- as.factor(df$var2)
df$var4 <- as.factor(df$var4)
ggplot(df, aes(x = var1, y = var3, fill = var2)) + facet_wrap(~var1, scale = "free") +
geom_bar(position = "dodge", colour = "black", stat = "identity") +
scale_fill_brewer(palette = "Set1") + scale_y_continuous(labels = scales::percent)
我想做的是将条形图中显示的颜色设置为与 var4
相对应,但仍按 var2
对图进行分面。我试图将 aes(fill = var4)
放入 geom_bar
部分,但这并没有给我想要的结果。
我还遇到了一个问题,条形图相互堆叠,似乎会根据 var3
是字符还是数字而改变。在上下文中,var1
将是一个问题 ID,var2
将是一个答案 ID,var3
将是一个百分比,而 var4
将是答案是否是正确与否。
你想要这样的东西吗?
ggplot(df, aes(x = var2, y = var3, fill=var4)) + facet_wrap(~var1, scale = "free") +
geom_bar(position = "dodge", colour = "black", stat = "identity") +
scale_fill_brewer(palette = "Set1") + scale_y_continuous(labels = scales::percent)
所以,我正在尝试使用 ggplot2 创建一个条形图,它将通过第四个变量为图形的填充着色。
df = data.frame(c(1,1,2,2,3), c("A","B","C","D","E"), c(1:5 / 4), c("Y", "N", "Y", "N", "N"))
names(df)[1:4] <- paste("var", 1:4, sep = "")
df$var1 <- as.factor(df$var1)
df$var2 <- as.factor(df$var2)
df$var4 <- as.factor(df$var4)
ggplot(df, aes(x = var1, y = var3, fill = var2)) + facet_wrap(~var1, scale = "free") +
geom_bar(position = "dodge", colour = "black", stat = "identity") +
scale_fill_brewer(palette = "Set1") + scale_y_continuous(labels = scales::percent)
我想做的是将条形图中显示的颜色设置为与 var4
相对应,但仍按 var2
对图进行分面。我试图将 aes(fill = var4)
放入 geom_bar
部分,但这并没有给我想要的结果。
我还遇到了一个问题,条形图相互堆叠,似乎会根据 var3
是字符还是数字而改变。在上下文中,var1
将是一个问题 ID,var2
将是一个答案 ID,var3
将是一个百分比,而 var4
将是答案是否是正确与否。
你想要这样的东西吗?
ggplot(df, aes(x = var2, y = var3, fill=var4)) + facet_wrap(~var1, scale = "free") +
geom_bar(position = "dodge", colour = "black", stat = "identity") +
scale_fill_brewer(palette = "Set1") + scale_y_continuous(labels = scales::percent)