geom_violin
在对within的调用中ggplot2
,您可以通过指定 来指定每把小提琴的面积应与组成该小提琴的观察次数成正比scale="count"
。
我假设这是通过获取一些总面积(我们称之为数量 X)并在所有要绘制的小提琴之间按比例划分的,从而在内部进行操作。这就是我想要的,除了如果组之间的 N 存在足够大的差异以致某些组的 N 相对较低,这可能导致小提琴非常窄。在我的情况下,这只会使填充颜色有点难以看到。
我认为这可以在很大程度上解决,至少在我的情况下,只需将 X 扩展一点,以便真正小的小提琴获得足够的区域以保持可读性。换句话说,我想根据观察次数保留小提琴之间的面积变化,但增加小提琴之间划分的总面积的“池”,以便每个小提琴都稍微变大。
任何人都知道如何做到这一点?为此必须有一个切换。我尝试过对geom_violin
诸如width
, size
,等的参数大惊小怪violinwidth
,但到目前为止还没有运气......
编辑:一个可以试验的无聊但可重复的“样本”数据集的代码。
y = runif(100, 1, 10)
x = as.factor(rep(c(1,2), times=50))
z = as.factor(c(rep(1, 10), rep(2, 90)))
df=data.frame(x, y, z)
ggplot(df, aes(x=x, y=y, fill=z)) + geom_violin(scale="count")