plotly / plotly/plotly.R

R session hangs up after using ggplotly()

未关闭
#2,318 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
R
星标
2.7k
派生
641
PR 合并指标
30 天内没有已合并 PR

描述

My R session (within RStudio) hangs up after using ggplotly().
For testing, I use one of the examples of ?ggplotly. The example normally works ok once or twice, but the R session hangs up after several tries (in the example below, the 2nd run hung up the session). I cannot even close RStudio from within the GUI and have to use the System Monitor application to kill it.
This problem arises when I run the following code after I have loaded a given project, not if I start a R session with no project. However, the project does not load any data or package, so I do not know how to identify the problem.
This is what I specifically do:


> ls()
    character(0)
    > search()
     [1] ".GlobalEnv"        "tools:rstudio"     "package:stats"     "package:graphics"  "package:grDevices"
     [6] "package:utils"     "package:datasets"  "package:methods"   "Autoloads"         "package:base"     
    > sessionInfo()
    R version 4.1.2 (2021-11-01)
    Platform: x86_64-pc-linux-gnu (64-bit)
    Running under: Pop!_OS 22.04 LTS
    
    Matrix products: default
    BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
    LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so
    
    locale:
     [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=es_ES.UTF-8       
     [4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=es_ES.UTF-8    LC_MESSAGES=en_US.UTF-8   
     [7] LC_PAPER=es_ES.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
    [10] LC_TELEPHONE=C             LC_MEASUREMENT=es_ES.UTF-8 LC_IDENTIFICATION=C       
    
    attached base packages:
    [1] stats     graphics  grDevices utils     datasets  methods   base     
    
    loaded via a namespace (and not attached):
     [1] rgl_1.2.1              Rcpp_1.0.11            class_7.3-20           digest_0.6.33         
     [5] kml_2.4.6              R6_2.5.1               plyr_1.8.9             jsonlite_1.8.7        
     [9] magrittr_2.0.3         evaluate_0.22          rlang_1.1.1            longitudinalData_2.4.5
    [13] cli_3.6.1              misc3d_0.9-1           rstudioapi_0.15.0      rmarkdown_2.25        
    [17] tools_4.1.2            htmlwidgets_1.6.2      clv_0.3-2.4            xfun_0.40             
    [21] yaml_2.3.7             fastmap_1.1.1          compiler_4.1.2         base64enc_0.1-3       
    [25] cluster_2.1.2          tcltk_4.1.2            htmltools_0.5.6.1      knitr_1.44            
    
    > library(ggplot2)
    > library(plotly)

Attaching package: ‘plotly’

The following object is masked from ‘package:ggplot2’:

    last_plot

The following object is masked from ‘package:stats’:

    filter

The following object is masked from ‘package:graphics’:

    layout
    > data(canada.cities, package = "maps")
    > viz <- ggplot(canada.cities, aes(long, lat)) +
    +     borders(regions = "canada") +
    +     coord_equal() +
    +     geom_point(aes(text = name, size = pop), colour = "red", alpha = 1/2)
    Warning message:
    In geom_point(aes(text = name, size = pop), colour = "red", alpha = 1/2) :
      Ignoring unknown aesthetics: text
    > ggplotly(viz, tooltip = c("text", "size"))
    > 
    > 
    > 
    > 
    > data(canada.cities, package = "maps")
    > viz <- ggplot(canada.cities, aes(long, lat)) +
    +     borders(regions = "canada") +
    +     coord_equal() +
    +     geom_point(aes(text = name, size = pop), colour = "red", alpha = 1/2)
    Warning message:
    In geom_point(aes(text = name, size = pop), colour = "red", alpha = 1/2) :
      Ignoring unknown aesthetics: text
    > ggplotly(viz, tooltip = c("text", "size"))
    > 
    > 

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先,在项目中以及不使用项目的会话中重现所提供的 ggplotly(viz, tooltip = c("text", "size")) 示例,并记录显示的 sessionInfo() 和已加载的包。比较这两个环境并跟踪 ggplotly() 的入口点;当挂起现象已在原因得到确认的情况下重现,并且解决方案已通过验证时,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
r
领域
data-visualization
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。