gpt4 book ai didi

r - 在ggplot2中水平均匀分布点

转载 作者:行者123 更新时间:2023-12-01 23:13:25 24 4
gpt4 key购买 nike

我想绘制计数的垂直箱线图,并将计数显示为覆盖在箱线图上的点。因为它们是离散值,所以会有多个点具有相同的值。为了在 ggplot2 中显示数据,我可以使用 geom_jitter() 来传播数据并获得稍微好一点的印象,但是抖动搞砸了值(垂直分量),水平传播的随机性意味着如果抖动高度是设置为 0,仍然有很高的重叠点的机会。

有没有办法将所有具有相同值的点均匀地水平分布?类似这样的事情:

enter image description here

这是一些示例数据:

wine_votes <- melt(list(a=c(7,7,7,8,8,7,7,8,4,7,7,6,8,6),
b=c(5,8,6,4,3,4,4,9,5,8,4,5,4),
c=c(7.5,8,5,8,6,8,5,6,6.5,7,5,5,6),
d=c(4,4,5,5,6,8,5,8,5,6,3,6,5),
e=c(7,4,6,7,4,6,7,5,6.5,8.5,8,5)
))
names(wine_votes) <- c('vote', 'option')

# Example plot with jitter:
ggplot(wine_votes, aes(x=blend, y=vote)) +
geom_boxplot() + geom_jitter(position=position_jitter(height=0, width=0.2)) +
scale_y_continuous(breaks=seq(0,10,2))

enter image description here

最佳答案

虽然这不是图像的确切外观,但可以对其进行调整以达到目的。 geom_dotplot(我认为是在 0.9.0-ish 版本中添加的)这样做:

ggplot(wine_votes, aes(x=option, y=vote)) +
geom_boxplot() +
scale_y_continuous(breaks=seq(0,10,2)) +
geom_dotplot(binaxis = "y", stackdir = "center", aes(fill=option))

enter image description here

关于r - 在ggplot2中水平均匀分布点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22212430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com