【问题标题】:Combining horizontal bars with facet_grid in ggplot在ggplot中将水平条与facet_grid结合起来
【发布时间】:2018-09-24 02:50:19
【问题描述】:

我想将水平条形图与 facet_grid 结合起来。因此,它应该只显示某个组出现的类别。我在这里举个例子,更具体地表达我的愿望。

为方便起见,这里有一些示例数据:

visual_data=data.frame(Values = 10:1, Words = c("yeah","what","is","up","and","how", "are", "things","for", "you"), group = c("a","b","a","b","a","b","a","b","a","b"))

我想要这种类型的情节:

graphic=ggplot(visual_data, aes(x=Values, y=reorder(Words,Values)))
graphic=graphic + geom_point() +
  ylab("Word") + 
  xlab("Count of occurences") +
  ggtitle("Frequency") +
  facet_grid(group~., scales = "free")
graphic

仅适用于不工作的条形(s. 下面究竟是什么不工作):

graphic=ggplot(visual_data, aes(y=Values, x=reorder(Words,Values)))
graphic=graphic + geom_bar(stat="identity") + 
  ylab("Word") + 
  xlab("Count of occurences") +
  coord_flip() +
  ggtitle("Frequency") +
  facet_grid(group~., scales = "free")
graphic

不同之处在于垂直轴上显示的类别。在第一个图中,仅出现在一个组中的类别,而在第二个图中,每个类别都显示所有类别。

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    奇怪 - 也许是一个错误?作为一种快速而简单的解决方法,您可以使用分段:

    ggplot(visual_data, aes(xend=Values, x=0, y=reorder(Words, Values), yend=reorder(Words, Values))) +
      geom_segment(size=10, color="#303030") + 
      facet_grid(group~., scales = "free")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-21
      • 2019-12-03
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      相关资源
      最近更新 更多