我正在使用ggplolty创建一个图表,当鼠标悬停在一个条形图上时,你可以看到y变量的值,这在我的情况下就是大数字。
我知道使用ggplot你可以有一个数字的单独列来获取图表上的值,另一列来格式化标签。所以使用格式函数我没有问题。
所以问题是它的格式编号是100000000是否为100 000 000 它保持数字,因此可以绘制条形图,并且图形标签将显示格式正确的数字
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 :(得分: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