带有两个变量的类似龙卷风的图

纳尔逊·贡

使用三个变量的相关问题更容易做到。这应该看起来很简单,但我无法让它工作。这是一个简单的例子:

test_me<-data.frame(A=c(-1.5,-5.6,-4.6,-7.8,0.98,0.07,-0.32,-0.4,-0.4),
                    B=c("A","A","A","B","B","B","C","C","C"))

我想ggplot2完成的那种情节(未显示以保持帖子尽可能简洁)base

barplot(test_me$A,col=test_me$B,legend=test_me$B)

这给了我我需要的那种情节。但是,barplot在图例中返回重复的名称并努力删除这些名称是徒劳的。我可以使用latticeorbarchart但更喜欢一种解决方案,该解决方案可以's 输出中复制此内容ggplot2删除重复的图例条目base

这是我尝试过的几件事之一:

library(ggplot2)
ggplot(test_me,aes(B,A,fill=B))+geom_col()

以上不适用于对position. 我怎样才能最好地制作这个情节?我试图用legend.textin设置手动图例,barplot但这会删除“分组”。编辑:下面的解决方案可能会解决问题,但与基本等效项不同,它会导致条形重叠。因此,我更喜欢使用base消除图例中的多个条目的解决方案简而言之,我怎样才能有一个barplot只有两个变量和独特的图例条目的分组

test_me %>% 
  mutate(x = row_number()) %>% 
  ggplot(aes(x = x, y = A, fill = B)) +
  geom_col()

然而,问题是上述解决方案导致重叠,但基本图导致三个分组条(即这些组似乎不重叠)。

谢谢。

红衣主教40

您需要在 x 轴上为每个元素指定一个离散值。试试这个:

test_me %>% 
  mutate(x = row_number()) %>% 
  ggplot(aes(x = x, y = A, fill = B)) +
  geom_col()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章