我想在我的箱线图上添加一条中线的痕迹。
像这样
到目前为止,这是我的 plotly :
library(plotly)
p <- plot_ly(y = ~rnorm(50), type = "box") %>%
add_trace(y = ~rnorm(50, 1))
p
最佳答案
刚开始使用 plot_ly(..., type='scatter', mode='lines', ...)
绘制散点图,并跟进一个 add_boxplot(...' inherit=FALSE, ...)
每个箱线图。以下是您如何为整个 data.frame
执行此操作:
带示例数据的完整代码:
library(dplyr)
library(plotly)
# data
df <- data.frame(iris) %>% select(-c('Species'))
medians <- apply(df,2,median)
# create common x-axis values for median line and boxplots
xVals <- seq(0, length(medians)-1, by=1)
# plotly median line setup
p <- plot_ly(x = xVals, y=medians, type='scatter', mode='lines', name='medians')
# add a trace per box plot
i <- 0
for(col in names(df)){
p <- p %>% add_boxplot(y = df[[col]], inherit = FALSE, name = col)
i <- i + 1
}
# manage layout
p <- p %>% layout(xaxis = list(range = c(min(xVals)-1, max(xVals)+1)))
p
关于r - Plotly:如何在箱线图上添加中线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60086757/