2016-06-25 2 views
1

私はggploltyでグラフを作っています。これは、マウスの上にマウスを置くと、y変数の値がわかります。Rの数値は数値クラスを失うことなくフォーマットできますか?

私は、ggplotを使用して、チャート上で値を取得するために数値を1つずつ、ラベルをフォーマットするために別の列を持つことができます。だから私は文字を取得するフォーマット関数を使用することは問題ではありません。

そこで問題は、それが可能だかどうか100 000 000 としてフォーマット番号100000000で、バーをプロットすることができ、plotlyラベルがホバーテキストのためにきれいにフォーマット番号

library(ggplot2) 
    library(plotly) 
    library(scales) 

# here you can see numbers on chart after hover not nicely formatted 
    df<-data.frame(x=letters[1:6],y=runif(6,120000000,130000000)) 
    ggplotly(ggplot(df,aes(x=x,y=y))+geom_bar(stat="identity")) 
# and this unfortunately formats well but converts to character  
    df$y<-format(df$y,big.mark = " ") 
    class(df$y) 
+0

おそらく 'scale_y_continuous(labels = ...)'が必要です。 – akrun

答えて

3

が表示されますので、それは数字のまま:

tmp <- ggplot(df,aes(x=x,y=y))+geom_bar(stat="identity") 
p <- plotly_build(tmp) 
p$data[[1]]$text <-prettyNum(df$y, big.mark = " ") 
p 
関連する問題