R geom_bar 我想动态添加多列进行比较[重复]

问题描述 投票:0回答:1

我的数据框看起来像这样

我想让所有四个列的每个策略都有 4 个栏。 IE Reconnaissance 将有 4 个小节,一个在 76 处,一个在 0 处,一个在 0 处,一个在 2 处。

与此类似。

遗憾的是,我设法制作了一个单列数据条形图,但我找不到向图表添加更多数据列的方法,更不用说我正在尝试动态地进行。

非常感谢您的阅读我期待着阅读您的意见和建议

亲切的问候,

我希望每个 x 有 4 bar。

r ggplot2 bar-chart geom-bar
1个回答
0
投票

首先让我们切换该数据集,以便您可以使用变量作为 x 轴和填充颜色的因子,然后应用 ggplot 逻辑来构建您的字符。下面

df = data.frame(tactics = as.factor(c("A","B","C")),
                    count = c(1,2,3),
                    abc1 = c(2,3,4),
                    abc2 = c(10,11,12),
                    abc3 = c(15,13,10))
library(ggplot2)
library(dplyr)
df %>% tidyr::pivot_longer(cols = abc1:abc3) %>%
      ggplot(aes(x = name, y = value, fill = tactics))+ geom_bar(stat = 'identity', position = 'dodge')

© www.soinside.com 2019 - 2024. All rights reserved.