Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 双变量类龙卷风图_R_Ggplot2 - Fatal编程技术网

R 双变量类龙卷风图

R 双变量类龙卷风图,r,ggplot2,R,Ggplot2,这样做比较容易。 这看起来应该很简单,但我无法让它工作。下面是一个简单的例子: 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")) 这给了我想要的情节。然而,barplot在图例中返回重复的名称,删除这些名称的努力是徒劳的。我可以使用lattice或barchart,但我更喜

这样做比较容易。 这看起来应该很简单,但我无法让它工作。下面是一个简单的例子:

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"))
这给了我想要的情节。然而,barplot在图例中返回重复的名称,删除这些名称的努力是徒劳的。我可以使用lattice或barchart,但我更喜欢在ggplot2中复制这一点或删除base输出中重复的图例项的解决方案

以下是我尝试过的几件事情之一:

library(ggplot2)
ggplot(test_me,aes(B,A,fill=B))+geom_col()
上述方法不适用于位置的更改。我怎样才能最好地完成这个情节?我尝试在条形图中使用legend.text设置手动图例,但这会删除分组。 编辑: 下面的解决方案可能会解决此问题,但它会导致条形图中出现重叠,这与基础等效图不同。因此,我更喜欢使用base并消除图例中多个条目的解决方案。简言之,我如何拥有一个只有两个变量和唯一图例条目的分组条形图

test_me %>% 
  mutate(x = row_number()) %>% 
  ggplot(aes(x = x, y = A, fill = B)) +
  geom_col()
然而,问题是,上述解决方案导致重叠,而底图则导致三个分组条形图,即这些分组似乎不重叠


谢谢

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

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

我想到了这一点,但不知何故没有测试它。但是,如何解决基本绘图中有多个图例条目的问题?我对基本绘图没有太多的工作,希望有人能帮助您。这个解决方案虽然完成了我需要的工作,但在x轴上引入了新标签,这并不是很好,因为我需要保留标签。我想我可以完全删除它们,但应该有一种方法可以使用两个可变的购物方式。我有点困惑-当你说你需要保留标签时,你指的是什么标签?在x轴上引入新标签所指的标签是什么?x轴实际上是row.names。不管怎样,它还是可以删除的。我很困惑你的问题是从编辑开始的。关于这个解决方案,你在问另一个问题吗?或者您的样本是否需要更改以更清楚地说明问题所在?我不清楚到底是什么问题。@flick先生,对不起。是的,我的主要问题是如何从base返回唯一的图例名称来实际使用barplot函数。虽然我认为基本图与GG图不同,但编辑是在下面的答案之后进行的。你到底看到了什么?下面是我从上述命令中看到的输出:我不明白您在说什么重叠。你指的是在底图中重叠条的图例吗?@MrFlick也许这个例子不是最好的,因为它们看起来确实一样。在本例中,所有组都是连续的行,因此没有重叠。我将按决议关闭此文件。但是,如何在底图中具有唯一的图例条目?
test_me %>% 
  mutate(x = row_number()) %>% 
  ggplot(aes(x = x, y = A, fill = B)) +
  geom_col()