gpt4 book ai didi

r - Plotly:在箱线图中用样本名称注释异常值

转载 作者:行者123 更新时间:2023-12-04 00:05:36 25 4
gpt4 key购买 nike

我正在尝试使用 ggplot 和数据集 airquality 创建一个箱线图,其中 Month 在 x 轴上,Ozone 值位于 y 轴上。我的目标是对绘图进行注释,以便当我将鼠标悬停在异常点上时,除了臭氧值之外,它还应该显示 Sample 名称:

library(tidyverse)
library(plotly)
library(datasets)
data(airquality)

# add months
airquality$Month <- factor(airquality$Month,
labels = c("May", "Jun", "Jul", "Aug", "Sep"))

# add sample names
airquality$Sample <- paste0('Sample_',seq(1:nrow(airquality)))

# boxplot
p <- ggplot(airquality, aes(x = Month, y = Ozone)) +
geom_boxplot()
p <- plotly_build(p)
p

这是创建的 plotly :

enter image description here

默认情况下,当我将鼠标悬停在每个框上时,它会显示 x 轴变量的基本汇总统计信息。但是,我还想看看异常样本是什么。例如当悬停在 May 上时,它会显示异常值 115,但并未显示它实际上是 Sample_30

如何将 Sample 变量添加到离群点,使其同时显示离群值和样本名称?

最佳答案

我们可以几乎这样得到它:

library(ggplot2)
library(plotly)
library(datasets)
data(airquality)
# add months
airquality$Month <- factor(airquality$Month,
labels = c("May", "Jun", "Jul", "Aug", "Sep"))
# add sample names
airquality$Sample <- paste0('Sample_',seq(1:nrow(airquality)))
# boxplot
gg <- ggplot(airquality, aes(x = Month, y = Ozone)) +
geom_boxplot()
ggly <- ggplotly(gg)
# add hover info
hoverinfo <- with(airquality, paste0("sample: ", Sample, "</br></br>",
"month: ", Month, "</br>",
"ozone: ", Ozone))
ggly$x$data[[1]]$text <- hoverinfo
ggly$x$data[[1]]$hoverinfo <- c("text", "boxes")

ggly

enter image description here

不幸的是,悬停不适用于第一个箱形图...

关于r - Plotly:在箱线图中用样本名称注释异常值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47518245/

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