我使用ggplot2创建了一些数据的箱线图,其中,数据点沿图的垂直轴显示为点。
bp2 <- ggplot(DBS, aes(DBS_Electrode,Proximal_Lead_Bowing, color=DBS_Electrode)) +
geom_boxplot() + geom_dotplot(binaxis="y", stackdir="center", fill="white",
dotsize=0.5) + theme_classic()
bp2 + scale_color_manual(values=c("goldenrod3","gray62","dodgerblue1")) +
theme(legend.position = "none") + xlab("") + ylab("Proximal Lead Bowing (mm)")
似乎我的输出将数据点舍入到最接近的十分之一,以使沿每个箱线图的轴的数据点具有多个实例,其中沿Y轴在同一级别上显示了多个点(请参见图) http://rpubs.com/Gopher16/441664)。这是数据的错误表示,因为没有数据点具有与近端引线弯曲完全相同的度量。 (数据测量到最接近的千分之一)。如何更改此输出,以使所有数据点均沿每个箱线图沿垂直轴显示(即,读取数据点至最接近的千分之一,而不是四舍五入至最接近的十分之一,以便沿Y轴在同一级别上不显示任何点-轴)?
答案 0 :(得分:0)
首先,通过使用内置数据集,使此代码可再现,从而为以后的读者提供更有用的示例:
yarn list jest
这表现出您不希望看到的行为:ggplot(iris, aes(Species, Sepal.Length)) +
geom_boxplot() +
geom_dotplot(binaxis = "y", stackdir = "center", fill = "white", dotsize = 0.5) +
theme_classic()
将这些点装仓,即使它们的geom_dotplot()
值不同,也使多个点在水平方向上彼此相邻。
您可以为Sepal.Length
指定binwidth = 0.01
或其他较小的值,但这只是在减少问题,并引入其他问题。
您可能希望使用geom_dotplot
:
geom_jitter
这保留了唯一y值的细微差异,这似乎是您的主要担心。