我正试图建立一个复杂的" ggplot
与geom_bar
所以我的data.frame
如下所示:
df <- data.frame(Attribut = c("Text1", "Text2", "Text3", "Text4"),
AA_P1 = c("0.111","0.32","0.16","0.332"),
AB_P1 = c("0.41","0.621","0.962","0.23"))
我的两个条形图是这样的:
s3 = ggplot(df, aes(x = Attribut, y= AA_P1)) +
geom_bar(stat="identity", fill="blue") +
theme(axis.text.x=element_text(angle=90,hjust=1)) +
coord_flip()
s4 = ggplot(df, aes(x = Attribut, y= AB_P1)) +
geom_bar(stat="identity", fill="red") +
theme(axis.text.x=element_text(angle=90,hjust=1)) +
coord_flip()
所以我的目标是将这两个geom_bar
组合成一个,方法是将数据框行AA_P1
和AB_P2
作为条形图放在同一个轴上的相同图形中
同时可以将变量AA_P1
和AB_P2
四舍五入到图中的两个小数点吗?
也许这个问题很容易,但我是R
的初学者,我无法找到解决问题的可行方法。
任何帮助都会很棒:) 问候, 卢卡斯
答案 0 :(得分:0)
如果我明白你的意思,你需要以整齐(呃)格式强制转换dataframe
df <- data.frame(Attribut = c("Text1", "Text2", "Text3", "Text4"),
AA_P1 = c("0.111","0.32","0.16","0.332"),
AB_P1 = c("0.41","0.621","0.962","0.23"))
library(ggplot2)
library(tidyr)
library(dplyr)
df <- df %>%
gather(key, value, -Attribut) %>%
mutate(value = round(as.numeric(value), 2))
ggplot(df) +
geom_col(aes(Attribut, round(value, 2), fill = key), position='dodge')
#> Warning: attributes are not identical across measure variables;
#> they will be dropped
由reprex package(v0.2.0)创建于2018-05-09。