当我尝试根据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()
在这里按主题进行刻面
+ facet_grid(subj ~., scales = "free_y")
我确实尝试过通过主题和其他方法重新排序 ,但没有任何结果。我绝对可以解决这个问题(即创建3个单图,然后将它们与gridExtra结合在一起),但是应该可以使用更优雅的方式,而且看来我显然缺少一些重要的细节。
谢谢! :)