格式化 R 绘图工具提示(例如 $ 3.5 B 或 6.7 M)

问题描述 投票:0回答:1

我为在 R 中制作的图表创建了一些工具提示。我的工具提示显示了年份和成本。有时,成本是一个很大的数字(例如数百万或数十亿)。我可以让 R 自动以数百万亿表示工具提示(无论输入的值是多少)?

数据正在从我制作的反应式数据帧读入 R Shiny 反应图。

这是当前行为的图像。费用有点难以理解。

这是我指定工具提示的方式:

# Specify tooltip fields here
p <- ggplotly(gg, tooltip = c("Year", "Cost"))  
r shiny tooltip
1个回答
0
投票

您没有提供可重现的示例,所以我自己创建了一个。

假设你有这样的东西 -

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

df <- data.frame(Cost = c(1e6, 12345678, 1e7), Year = factor(2001:2003))
gg <- ggplot(df, aes(Year, Cost)) + geom_point()
p <- ggplotly(gg, tooltip = c("Year", "Cost"))  
p

scales
包有一个非常好的函数来处理这种情况。在这种情况下,我创建了一个新列,但如果您愿意,您也可以覆盖同一列。

df$Cost_New <- label_number(accuracy = 0.1, 
                 scale_cut = cut_short_scale())(df$Cost)
gg <- ggplot(df, aes(Year, Cost_New)) + geom_point()
p <- ggplotly(gg, tooltip = c("Year", "Cost_New"))  
p

© www.soinside.com 2019 - 2024. All rights reserved.