R 如何使用ggplot2';s geom_dotplot()具有对称间隔和分离的点
当R 如何使用ggplot2';s geom_dotplot()具有对称间隔和分离的点,r,ggplot2,R,Ggplot2,当stackratio大于1时,在geom_dotplot中对称放置点时出现问题。当堆叠比率=1时,圆点对称放置在记号标记上方。使用stackratio>1,点向左移动。有没有一种方法可以在点之间创造空间的同时保持点的对称性 library(ggplot2) data <- data.frame(x = rep(seq(2018, 2021, 1), 15), y = sample(seq(3, 5, .125), 60,
stackratio
大于1时,在geom_dotplot
中对称放置点时出现问题。当堆叠比率=1时,圆点对称放置在记号标记上方。使用stackratio>1
,点向左移动。有没有一种方法可以在点之间创造空间的同时保持点的对称性
library(ggplot2)
data <- data.frame(x = rep(seq(2018, 2021, 1), 15),
y = sample(seq(3, 5, .125), 60,
replace = T))
ggplot(data, aes(factor(x), y)) +
geom_dotplot(binaxis = "y", stackdir = "center", stackratio = 1)
ggplot(data, aes(factor(x), y)) +
geom_dotplot(binaxis = "y", stackdir = "center", stackratio = 2)
库(ggplot2)
数据问题似乎出在函数中。它计算每个点的偏移量
xpos <- xmm + dotdiamm * (x$stackposition * x$stackratio + (1 - x$stackratio) / 2)
然后用样本数据进行测试,我得到
ggplot(data, aes(factor(x), y)) +
geom_dotplot(binaxis = "y", stackdir = "center", stackratio = 1)
也许这算是一个bug报告?不确定还有什么要测试的,而且当使用数字<1时,情况似乎会向右移动。我不记得这是否是它一直以来的工作方式,或者这是一个新的东西。看起来这是一个bug。我在下面提供了一些细节,这可能是值得的。请随意包含我在下面提供的详细信息。
ggplot(data, aes(factor(x), y)) +
geom_dotplot(binaxis = "y", stackdir = "center", stackratio = 1)
ggplot(data, aes(factor(x), y)) +
geom_dotplot(binaxis = "y", stackdir = "center", stackratio = .5)
ggplot(data, aes(factor(x), y)) +
geom_dotplot(binaxis = "y", stackdir = "center", stackratio = 2)