R中的数字可以在不丢失数字类的情况下格式化吗?

R中的数字可以在不丢失数字类的情况下格式化吗?,r,ggplot2,format,plotly,R,Ggplot2,Format,Plotly,我正在用ggplolty制作一个图表,当鼠标悬停在一个条上时,可以看到y变量的值,在我的例子中是一个大数字 我知道,使用ggplot,您可以有单独的列,一个数字用于获取图表上的值,另一个用于格式化标签。所以使用format函数获取字符并不是问题 所以问题是,是否有可能将100000000的格式设置为100000 它保持数字状态,这样可以打印条,打印标签将显示格式良好的数字 library(ggplot2) library(plotly) library(scales) # he

我正在用ggplolty制作一个图表,当鼠标悬停在一个条上时,可以看到y变量的值,在我的例子中是一个大数字

我知道,使用ggplot,您可以有单独的列,一个数字用于获取图表上的值,另一个用于格式化标签。所以使用format函数获取字符并不是问题

所以问题是,是否有可能将100000000的格式设置为100000 它保持数字状态,这样可以打印条,打印标签将显示格式良好的数字

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)
库(ggplot2)
图书馆(绘本)
图书馆(比例尺)
#在这里,你们可以看到悬停后图表上的数字格式不正确
df对于悬停文本:

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

tmp您可能需要
scale\u y\u continuous(标签=…)