gpt4 book ai didi

r - 避免在 ggplot2 中使用 geom_point 进行绘图叠加

转载 作者:行者123 更新时间:2023-12-04 00:11:45 26 4
gpt4 key购买 nike

在 ggplot2 中,geom_point 默认在当前绘图上绘图。例如,在调用 geom_boxplot 之后调用 geom_point 会导致在箱线图上绘制点:

ggplot(iris, aes(x = "All", y = Sepal.Length)) +
geom_boxplot() +
geom_point(aes(color=Species), position = "jitter")

boxplot with overlaid points

有没有办法将点单独绘制到侧面,而不是在箱线图上?

在我的特殊情况下,我想这样做是因为点模糊了情节(即使有透明度等),这个问题不是这里的示例数据集的问题。

最佳答案

您可以通过为箱线图和点提供单独的 x 值来单独绘制它们:

ggplot(iris, aes(y = Sepal.Length)) +
geom_boxplot(aes(x="Boxplot")) +
geom_point(aes(x="Points", color=Species),
position = position_jitter(width=0.15, height=0))

另一种选择是按物种使用箱线图:

ggplot(iris, aes(y = Sepal.Length)) +
geom_boxplot(aes(x="All Data"), width=0.5) +
geom_boxplot(aes(x="By Species", colour=Species), width=0.5,
position=position_dodge(width=0.6))

这是两个图的样子:

enter image description here

关于r - 避免在 ggplot2 中使用 geom_point 进行绘图叠加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33740803/

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