相关疑难解决方法(0)

在ggplot2中使用coord_flip()和facet_wrap(scales ="free_y")似乎给出了意想不到的facet轴刻度标记和刻度标签

我试图创建一个带有翻转坐标的刻面图,其中一个且只有一个轴可以为每个面改变:

require(ggplot2)
p <- qplot(displ, hwy, data = mpg)
p + facet_wrap(~ cyl, scales = "free_y") + coord_flip()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这个图对我来说并不令人满意,因为每个图都会重复出现错误的刻度线和刻度标签.我希望每个水平轴上都有刻度线,而不是每个垂直轴上.

这是出乎意料的行为,因为该图表示顶部面板的水平轴刻度标记与底部面板相同,但它们不是.要查看此运行:

p <- qplot(displ, hwy, data = mpg)
p + facet_wrap(~ cyl, scales = "fixed") + coord_flip()
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:有没有办法去除右刻面的垂直轴刻度线,并在顶面添加水平轴刻度线和标签?

正如保罗在下面深刻指出的那样,我给出的例子可以通过在qplot()中交换x和y并避免coord_flip()来解决,但是这并不适用于所有的geoms,例如,如果我想要一个免费的水平多面条形图水平轴我可以运行:

c <- ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar()
c + facet_wrap(~cut, scales = "free_y") + coord_flip()
Run Code Online (Sandbox Code Playgroud)

图片

这些面具有可变的水平轴,但是重复的垂直轴刻度标记而不是重复的水平轴刻度标记.我不认为保罗的伎俩会在这里起作用,因为与散点图不同,条形图不是旋转对称的.

我很想听听任何部分或完整的解决方案.

r ggplot2

12
推荐指数
2
解决办法
9317
查看次数

ggplot2小提琴情节:只填充中央95%?

ggplot2可以创建一个非常有吸引力的填充小提琴情节:

ggplot() + geom_violin(data=data.frame(x=1, y=rnorm(10 ^ 5)), 
    aes(x=x, y=y), fill='gray90', color='black') + 
    theme_classic()
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我想将填充限制在95%的分布中心,保持轮廓完整.有没有人有关于如何做到这一点的建议?

r ggplot2

7
推荐指数
1
解决办法
738
查看次数

标签 统计

ggplot2 ×2

r ×2