gpt4 book ai didi

r - Boxplot 上的全文标签,添加了平均点

转载 作者:行者123 更新时间:2023-12-01 11:34:50 30 4
gpt4 key购买 nike

我正在尝试获取与此类似的文本标签 https://stats.stackexchange.com/questions/8206/labeling-boxplots-in-r ,但我无法让它工作。 MWE 类似于我所拥有的是这样的:

data <- data.frame(replicate(5,sample(0:100,100,rep=TRUE)))

meanFunction <- function(x){
return(data.frame(y=round(mean(x),2),label=round(mean(x,na.rm=T),2)))}

ggplot(melt(data), aes(x=variable, y=value)) +
geom_boxplot(aes(fill=variable), width = 0.7) +
stat_summary(fun.y = mean, geom="point",colour="darkred", size=4) +
stat_summary(fun.data = meanFunction, geom="text", size = 4, vjust=1.3)

这会在附加图像中产生类似“A”的东西,我试图为每个盒子得到类似“B”的东西。谢谢。 enter image description here

最佳答案

这是我的尝试。首先,我 reshape 了您的数据。然后,我制作了您的箱线图。我改变了平均文本的大小和颜色。然后,我查看了 ggplot 使用的数据,您可以使用 ggplot_build(objectname)$data[[1]] 访问这些数据。 .你可以看到你需要的数字。我选择了必要的变量并 reshape 了数据,即 df .使用 df ,您可以注释您想要的数字。

library(dplyr)
library(tidyr)
library(ggplot2)

set.seed(123)
mydf <- data.frame(replicate(5,sample(0:100,100,rep=TRUE)))

mydf <- gather(mydf, variable, value)

meanFunction <- function(x){
return(data.frame(y=round(mean(x),2),label=round(mean(x,na.rm=T),2)))}

g <- ggplot(data = mydf, aes(x = variable, y = value, fill = variable)) +
geom_boxplot(width = 0.5) +
stat_summary(fun.y = mean, geom = "point",colour = "darkred", size=4) +
stat_summary(fun.data = meanFunction, geom ="text", color = "white", size = 3, vjust = 1.3)

df <- ggplot_build(g)$data[[1]] %>%
select(ymin:ymax, x) %>%
gather(type, value, - x) %>%
arrange(x)

g + annotate("text", x = df$x + 0.4, y = df$value, label = df$value, size = 3)

enter image description here

关于r - Boxplot 上的全文标签,添加了平均点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28225777/

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