2017-03-22 7 views
1

これは私がそれを投稿したり問題を説明して間違いを犯した場合、私の最初の質問です。バープロットのPlotlyとggplot2のホバーテキストがRが動作しない

私はShiny、ggplot、Plotlyを使用してRでツールを構築しています。私はplotからlibraryの例を得て、ggplotを使ってグラフをレンダリングするときにツールチップを表示することができます。

は私のコード例に従います。

library(shiny) 
library(ggplot2) 
library(plotly) 
library(dplyr) 
library(reshape) 

ui <- fluidPage(
    plotlyOutput("distPlot") 
) 

server <- function(input, output) { 
    output$distPlot <- renderPlotly({ 
    dat <- data.frame(
    time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")), 
    total_bill = c(14.89, 17.23) 
) 

p <- ggplot(data=dat, aes(x=time, y=total_bill, fill=time)) + 
    geom_bar(stat="identity") 
    p <- p + geom_bar(stat = "identity") 

    ggplotly(p) 
    }) 
} 

shinyApp(ui = ui, server = server) 

私は上記のコードを使用すると、ツールチップが表示されませんが、私は塗りつぶし= X2パラメータを削除した場合、ツールチップが表示されます:私は

 p <- ggplot(data=dat, aes(x=time, y=total_bill)) + 
    geom_bar(stat="identity") 

をアプリケーション私は色で持っている "グループ"を分離し、凡例を表示するためにfillパラメータを持つ必要があります。

私はjavascriptと他のソリューションを使用してインターネット上で多くの "回避策"を検索しましたが、それはプロットからのネイティブ機能なので、これを簡単な方法で動作させたいと思います。

ご協力いただきありがとうございます。

+0

てみ 'G < - plotly_build(p)を'。次にgの構造を見て、 'g $ x $ data [[i]] $ text'を見つけてください。値が何であるかを見て、それを変更してください。 – msubbaiah

答えて

2

これは既知の問題の一種である、あなたはそれを修正するためにこれを使用することができます。

p <- ggplotly(p) 

for (i in 1:length(p$x$data)){ 
    p$x$data[[i]]$text <- c(p$x$data[[i]]$text, "") 
} 
p 
+0

こんにちは@GGambaあなたの答えのおかげで、最初のオプションは正常に動作しますが、2番目のオプションはうまくいきません。私はこれがバグだと思いますし、回避策を見つけることができませんでした。 –

関連する問題