我一直试图使用facet_grid一起生成一系列点图.这样做,我注意到geom_dotplot似乎没有响应facet_grid的scales ="free_y"参数.
这是一些示例代码:
require(ggplot2) #Example data set.seed(3) df = data.frame(Gene = rep(c("a", "b", "c", "d"), each=20), ToD = rep(c("Morning", "Evening"), times = 40), Expression = c(runif(20, min=0, max=10), runif(20, min=0, max=1), runif(20, min=0, max=1000), runif(20, min=0, max=100))) #Box plots of example data ggplot(df, aes(x = ToD, y = Expression)) + geom_boxplot() + facet_grid(Gene ~ ., scales = "free_y") #Dot plots of example data ggplot(df, aes(x = ToD, y = Expression)) + geom_dotplot(binaxis = "y", stackdir = "centerwhole") + facet_grid(Gene ~ ., scales = "free_y")
这里是我正在使用的R和ggplot2的版本:
R版本3.2.2(2015-08-14)
ggplot2_1.0.1.9003
因此,当我生成箱形图时,一切都按预期工作,y轴适当地缩放为每个构面行:
但是,点图对于每个构面行保持相同的y轴刻度:
我已经读过ggplot2中的一个已知错误,其中coord_flip和facet_grid在指定自由比例时不能一起工作.这与同样的问题有关吗?
虽然我可以单独生成每个图,然后将它们与grid.arrange结合使用,但这对我的目的来说很麻烦.我试图将这些点图与其他刻面图拼接在一起,我想避免使用grid.arrange重新生成所有这些图.有什么想法吗?
感谢您提供的任何帮助,如果我能提供任何进一步的说明,请告诉我.