ggplot,重新排序es和faceting

时间:2018-07-25 14:12:26

标签: r ggplot2 facet

当我尝试根据x的值对y轴重新排序,然后再由另一个变量进行构面时,该排序将丢失。

下面是一个例子

library("ggplot2")

# dummy data_frame
df <- data_frame(subj = as.factor(rep(c("Adam", "Brenna", "Charlie"), each = 3)),
                 type = as.factor(rep(c("A","B", "C"), 3)),
                 score = c(50, 0, 100, rep(c(100, 50, 0), 2)))

# A tibble: 9 x 3
subj    type  score
<fct>   <fct> <dbl>
1 Adam    A        50
2 Adam    B         0
3 Adam    C       100
4 Brenna  A       100
5 Brenna  B        50

不带小面且仅一个subj 的图就可以正常工作

df %>% 
  filter(subj == "Adam") %>% 
  ggplot(aes(score, reorder(type, score))) +
  geom_point()

plot without faceting

在这里按主题进行刻面

   + facet_grid(subj ~., scales = "free_y")

faceting

我确实尝试过通过主题和其他方法重新排序 ,但没有任何结果。我绝对可以解决这个问题(即创建3个单图,然后将它们与gridExtra结合在一起),但是应该可以使用更优雅的方式,而且看来我显然缺少一些重要的细节。

谢谢! :)

0 个答案:

没有答案