plotly / plotly/plotly.R

Download images in Shiny

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

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

主要言語
R
スター
2.7k
フォーク
641
PR マージ指標
30日以内にマージされた PR はありません

説明

Hi! I'm using plotly in a shiny. When I want to download the image, first I used export, it works, but it returns a message "use orca", but it was also superseded by kaleido(). So I use save_image(), and it return an error .

Warning: Error in py_run_string_impl:   File "<string>", line 1
    open('C:\Users\limbo\AppData\Local\Temp\RtmpkD8Zlu\file1d5837d66529.png', 'wb').write(scope_1d58780818d2.transform(sys.modules['json'].loads(scope_1d58780818d2._last_plot), format='png', width=None, height=None, scale=None))
                                                                            ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

  [No stack trace available]

my shiny

library(shiny)
library(plotly)

ui <- fluidPage(
  plotlyOutput("plot"),
  downloadButton("download", "Download")
)

server <- function(input, output, session) {
  p <- reactive({
    
    a <- ggplot(iris, 
                aes(x = Species, 
                    y = Sepal.Length)
                ) + 
      geom_boxplot() + 
      theme_bw()
    a <- ggplotly(a)
    a
  })

  
  output$plot <- renderPlotly(p())
  
  output$download <- downloadHandler(
    filename = function(){
      paste0(paste0("test", 
                    Sys.Date()), 
             ".png")
    },
    
    content = function(file){
      plotly::save_image(p(), file = file)
    }
  )
}

shinyApp(ui, server)

What can I do about that? Thanks!

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、Windows で提供された Shiny の例を実行し、downloadHandler() と kaleido を使用する plotly::save_image() に注目します。生成された Python 呼び出しを追跡し、エラーに表示される一時パスと比較します。完了条件は、例で unicodeescape エラーなしに PNG をダウンロードできることです。

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

評価

技術スタック
plotly, python, r
領域
data-visualization
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

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

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