plotly / plotly/plotly.R

R session hangs up after using ggplotly()

オープン
#2,318 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
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. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、提供された ggplotly(viz, tooltip = c("text", "size")) の例をプロジェクト内とプロジェクトなしのセッションで再現し、表示された sessionInfo() と読み込まれたパッケージを記録します。2つの環境を比較し、ggplotly() のエントリポイントを追跡します。ハングが原因を確認した状態で再現され、解決策が検証されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
r
領域
data-visualization
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。