R 使用stat=";修复ggplotly中的工具提示映射;qq“;(QQ正常图)
我试图使用plotly+ggplot制作一个交互式Q-Q标准图,并将鼠标悬停文本自定义为数据帧中的另一个向量 使用默认工具提示,我可以绘制预期的Q-Q范数分布。当aes文本映射到自定义工具提示时,stat_qq转换将理论分位数设置为零。如何在不重写stat_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
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