2016-09-29 43 views
2

私はPlotlyライブラリを見つけて私のプロットのために使い始めるまで、ggplotをしばらく使っていました。私はまだggplot関数を使ってプロットを作成し、最後にggplotly関数を使って変換します。Plotlyを使用してデフォルトのツールチップを取り除くにはどうすればよいですか?

ヒートマップを作成するために私のプロットでgeom_tileとgeom_textレイヤーを使用しています。 geom_tileの "text"プロパティをツールチップに表示するテキストに設定し、tooltip = "text"をggplotly関数に渡します。矩形の内側に表示するテキストは、「label」プロパティを使用してgeom_textレイヤーで設定されたテキストです。

プロットがレンダリングされるとき、私はgeom_tileのtextプロパティに設定したテキストとgeom_textレイヤのlabelプロパティのテキストを繰り返すツールチップを別々に見ることができます。

この最後のツールチップを削除するにはどうすればよいですか?

ありがとうございます!ここで

は私のコードです:

gg<-ggplot(dataframe, aes(x=varX,y=varY))+ 
    geom_tile(aes(fill=cm,text=paste("#",casos)))+ 
    geom_text(aes(label=cm,size=casos),family = "arial", color="#111111")+ 
    scale_fill_gradient2(low="#DD3333",mid="#EEEE99",high="#00AA00")+ 
    labs(x="varX",y="varY",fill="CM")+ scale_size(range = c(2.5, 5),guide='none') + 
    theme(text=element_text(family = "arial", color="#666666", size=11) ,title=element_text(family = "arial", color="#666666", face="bold", size=12), axis.text=element_text(family = "arial", color="#666666", size=9),axis.text.x=element_text(angle=330)) 
ggplotly(gg, tooltip="text") 

答えて

1

ggplotly()は自動的にホバーテキストを作成します - それはそれの「魔法」の一部です。上書きするには、plotly_build()を使用する必要があります。

library(plotly) 
library(ggplot2) 

gg <- ggplot(mtcars, aes(x = cyl, y = gear)) + 
    geom_tile(aes(fill = mpg)) 

pb <- plotly_build(gg) 

# check structure of pb with str(pb) and see that the text element is a matrix 
mtext <- as.character(seq(1,9,1))) 

pb$data[[1]]$text <- matrix(mtext, 3, 3) 

pb 
関連する問題