Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用stat=";修复ggplotly中的工具提示映射;qq“;(QQ正常图)_R_Ggplot2_Plotly_Ggplotly - Fatal编程技术网

R 使用stat=";修复ggplotly中的工具提示映射;qq“;(QQ正常图)

R 使用stat=";修复ggplotly中的工具提示映射;qq“;(QQ正常图),r,ggplot2,plotly,ggplotly,R,Ggplot2,Plotly,Ggplotly,我试图使用plotly+ggplot制作一个交互式Q-Q标准图,并将鼠标悬停文本自定义为数据帧中的另一个向量 使用默认工具提示,我可以绘制预期的Q-Q范数分布。当aes文本映射到自定义工具提示时,stat_qq转换将理论分位数设置为零。如何在不重写stat_qq转换的情况下复制映射 library(ggplot2) library(plotly) # dataframe with 20 points normally distributed around zero n <- 20 tab

我试图使用plotly+ggplot制作一个交互式Q-Q标准图,并将鼠标悬停文本自定义为数据帧中的另一个向量

使用默认工具提示,我可以绘制预期的Q-Q范数分布。当aes文本映射到自定义工具提示时,stat_qq转换将理论分位数设置为零。如何在不重写stat_qq转换的情况下复制映射

library(ggplot2)
library(plotly)

# dataframe with 20 points normally distributed around zero
n <- 20
table <- cbind.data.frame(value = rnorm(n, ),     
                      key = c(letters[1:20]))

## plotly with default tooltip
p <- ggplot(table, aes(sample = value)) +
  geom_point(stat = "qq",
             shape = 21,
             size = 2)
ggplotly(p)
R版本3.4.2(2017-09-28) 平台:x86_64-pc-linux-gnu(64位) 运行于:Ubuntu 16.04.2 LTS

矩阵乘积:默认值 BLAS:/usr/lib/atlas base/atlas/libblas.so.3.0 LAPACK:/usr/lib/atlas base/atlas/liblapack.so.3.0

区域设置: LC\u CTYPE=en\u US.UTF-8 LC\u NUMERIC=C LC\u TIME=en\u US.UTF-8 LC\u COLLATE=en\u US.UTF-8 LC\u MONETARY=en\u US.UTF-8
[6] LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_测量=en_US.UTF-8 LC_识别=C

附加基本包: 统计图形GRUTILS数据集方法库

其他随附包裹: plotly_4.7.1 ggplot2_2.2.1

通过命名空间加载(未附加): Rcpp\u 0.12.13 bindr\u 0.1 magrittr\u 1.5 tidyselect\u 0.2.2 munsell\u 0.4.3 xtable\u 1.8-2
[7] 绿柱石0.2.0色域1.3-2 R6 2.2 rlang 0.1.2 httr 1.3.1 plyr 1.8.4
[13] dplyr_0.7.4工具_3.4.2网格_3.4.2数据表_1.10.4-2 gtable_0.2.0串扰_1.0
[19] htmltools_0.3.6 yaml_2.1.14 lazyeval_0.2.0资产,即_0.2.0摘要_0.6.12 TIBLE_1.3.4
[25]bindrcpp_0.2闪亮_1.0.5三分之一_0.7.2 purrr_0.2.4 htmlwidgets_0.9 mime_0.5
[31]胶水\u 1.1.1标签\u 0.3编译器\u 3.4.2刻度\u 0.5.0 jsonlite\u 1.5 httpuv\u 1.3.5
[37]pkgconfig_2.0.1更新: 经过一些研究,我找到了一个解决方案,解决了我改编自的重新映射问题。我没有使用aes映射,而是将标签直接替换到plotly对象中

p <- ggplot(table, aes(sample = value)) +
  geom_point(stat = "qq",
             shape = 21,
             size = 2)
z <- plotly_build(p)
table <- table[order(table$value), ]
table <- table %>% mutate(text = key)
z$x$data[[1]]$text <- table$text
z          
p更新:
经过一些研究,我找到了一个解决方案,解决了我改编自的重新映射问题。我没有使用aes映射,而是将标签直接替换到plotly对象中

p <- ggplot(table, aes(sample = value)) +
  geom_point(stat = "qq",
             shape = 21,
             size = 2)
z <- plotly_build(p)
table <- table[order(table$value), ]
table <- table %>% mutate(text = key)
z$x$data[[1]]$text <- table$text
z          
p
p <- ggplot(table, aes(sample = value)) +
  geom_point(stat = "qq",
             shape = 21,
             size = 2)
z <- plotly_build(p)
table <- table[order(table$value), ]
table <- table %>% mutate(text = key)
z$x$data[[1]]$text <- table$text
z