我正在尝试创建一个带有翻转坐标的多面图,其中一个且只有一个轴允许为每个方面变化:
require(ggplot2)
p <- qplot(displ, hwy, data = mpg)
p + facet_wrap(~ cyl, scales = "free_y") + coord_flip()
这个图对我来说并不满意,因为每个图都重复了错误的刻度线和刻度线标签。我想要每个水平轴上的刻度线而不是每个垂直轴上的刻度线。
这是出乎意料的行为,因为该图暗示顶部面板的水平轴刻度线与底部面板的水平轴刻度线相同,但事实并非如此。要查看此运行:
p <- qplot(displ, hwy, data = mpg)
p + facet_wrap(~ cyl, scales = "fixed") + coord_flip()
所以我的问题是:有没有办法删除右侧刻面的垂直轴刻度线并将水平轴刻度线和标签添加到顶部刻面?
正如 Paul 在下面有见地指出的那样,我给出的示例可以通过在 qplot() 中交换 x 和 y 并避免 coord_flip() 来解决,但是这不适用于所有几何图形,例如,如果我想要一个免费的水平刻面条形图我可以运行的水平轴:
c <- ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar()
c + facet_wrap(~cut, scales = "free_y") + coord_flip()
这些构面具有可变的水平轴,但重复的垂直轴刻度线而不是重复的水平轴刻度线。我认为 Paul 的技巧在这里不会奏效,因为与散点图不同,条形图不是旋转对称的。
我很想听到任何部分或完整的解决方案。