首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >圆滑地:在Boxplot上添加分段

圆滑地:在Boxplot上添加分段
EN

Stack Overflow用户
提问于 2018-06-07 07:35:57
回答 1查看 888关注 0票数 2

这样做的目的是制作一个方格图,并在其上为每个人添加一个目标行。我制作了一个正在工作的盒图,但没有成功地添加目标行(列"Obj“包含目标值)。

以下是我的数据:

代码语言:javascript
复制
Variability_datas = structure(list(Pupil = c("PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05", 
                           "PUPIL01", "PUPIL06", "PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05", 
                           "PUPIL01", "PUPIL06", "PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05", 
                           "PUPIL01", "PUPIL06", "PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05", 
                           "PUPIL01", "PUPIL06", "PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05", 
                           "PUPIL01", "PUPIL06", "PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05", 
                           "PUPIL01", "PUPIL06", "PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05", 
                           "PUPIL01", "PUPIL06", "PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05", 
                           "PUPIL01", "PUPIL06", "PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05", 
                           "PUPIL01", "PUPIL06", "PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05", 
                           "PUPIL01", "PUPIL06", "PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05", 
                           "PUPIL01", "PUPIL06", "PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05", 
                           "PUPIL01", "PUPIL06", "PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05", 
                           "PUPIL01", "PUPIL06", "PUPIL03", "PUPIL02", 
                           "PUPIL04", "PUPIL05", "PUPIL01", "PUPIL06", 
                           "PUPIL03", "PUPIL02", "PUPIL04", "PUPIL05"
  ), Score = c(0, 0.33, 
        1.51, 10.23, 58.18, 27.84, 0.4, 1.95, 0, 0, 40.16, 1.88, 0, 0.83, 
        1.18, 16.32, 3.05, 51.28, 2.12, 0, 18.2, 4.89, 0, 23.18, 0, 0, 
        28.93, 10.75, 0.05, 16.97, 1.05, 0.45, 56.8, 68.46, 1.24, 15.14, 
        0, 32, 12.87, 23.28, 0, 6.9, 0.45, 85.61, 14.68, 0, 0.15, 2.21, 
        0, 46.55, 4.36, 2.84, 0, 55.68, 0, 21.22, 5.78, 6.97, 9.06, 82.1, 
        0, 8.3, 0.34, 0, 59.28, 26.8, 21.29, 1.19, 0, 1.75, 27.2, 10.13, 
        19.66, 0, 0, 5.79, 35.69, 0.03, 0.12, 0, 1.1, 1.81, 5.25, 0, 
        25.27, 2, 15.28, 0.75, 2.52, 1.59, 8.17, 0, 0, 8.18, 2.64, 0, 
        4.62, 0, 1, 11.39, 4.67, 0, 0.64, 4.34, 1.14, 8.84, 0, 3.98, 
        0, 4.99, 0.57, 11.29, 17.43, 2.05, 5.21, 0.74, 14.14, 0, 25, 
        40.19, 4.81, 0, 4.49, 7.36, 11.84, 0, 0.66, 0, 25, 21.72, 13.41, 
        9.69, 0, 0.88, 23.83, 27.99, 0, 3.19, 0, 13.02, 12.14, 11.19, 
        22.39, 80.26, 0, 7.29, 0.33, 5.25, 16.81, 12.56, 0, 5.57, 0, 
        41.34, 2.66, 6.88, 0.87, 23.85, 0, 7.22, 0, 25.07, 0, 0.85, 1.76, 
        1.42), Obj = c(15, 15, 15, 15, 15, 15, 15, 15, 
                       15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 
                       15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 
                       15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 
                       15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 
                       15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 
                       15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 
                       15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 
                       15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 
                       15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 
                       15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15)), .Names = c("Pupil", 
                                                                                            "Score", "Obj"), class = "data.frame", row.names = c(NA, 186L))

方框代码:

代码语言:javascript
复制
library(plotly)
plot_ly(Variability_datas, x = ~Variability_datas$Pupil, y=Variability_datas$Score, type = "box", boxpoints = "all") %>% 
  layout(height = 650, width = 1200, 
         title= "Box plot", 
         yaxis = list(title = "Score"), 
         xaxis = list(title = "Pupil", tickangle=315), 
         margin = list(b = 115))

如能提供任何帮助,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-07 19:05:40

使用plotly,您可能可以使用add_segments()来完成它。但是使用ggplot2ggplotly()可能更容易。

你可以试试这个:

代码语言:javascript
复制
dat2 <- data.frame( x= c("1", "2", "3", "4", "5", "6"), y = c(15, 15, 15, 15, 15, 15))


a <- ggplot(data = Variability_datas, aes(x = Pupil, y = Score)) + geom_boxplot() + theme_bw() +
  geom_segment(data = dat2, color = "red", aes(x = as.numeric(x) - 0.3,
                                    y = y,
                                    xend = as.numeric(x) + 0.3,
                                    yend = y)) 

ggplotly(a)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50735435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档