r - 如何设置文本以在工具提示上显示货币(使用 plot_ly 而不是 ggplotly)?
问题描述
据我所知,在生成绘图对象时需要设置“文本”参数,然后将此“文本”参数称为工具提示。
数据:
ha <- structure(list(periodo = structure(c(2L, 2L, 2L, 2L, 2L, 2L), .Label = c("2017",
"2016"), class = c("ordered", "factor")), ecommerce = structure(c(2L,
2L, 2L, 2L, 2L, 2L), .Label = c("falabella", "ripley", "linio"
), class = c("ordered", "factor")), marca = c("samsung", "samsung",
"lg", "lg", "samsung", "lg"), producto = c("samsung tv led hd 32'' 32j4000",
"samsung smart tv led fhd 48\"\" 3d 48j6400", "lg smart tv led 43'' full hd 43lh5700",
"lg smart tv led 49'' full hd 49lh5700", "samsung smart tv 50ju6500 led uhd 50\"\" - negro",
"lg smart tv led 49\"\" ultra hd tv 49uh6500"), precio.antes = c(999,
2799, 1649, 1999, 3699, 2799), precio.actual = c(799, 1999, 1249,
1699, 2399, 2199), pulgadas = c(32, 48, 43, 49, 50, 49), rango = c("S/.500 -\r\n S/.1500",
"S/.1500 -\r\n S/.2500", "S/.500 -\r\n S/.1500", "S/.1500 -\r\n S/.2500",
"S/.1500 -\r\n S/.2500", "S/.1500 -\r\n S/.2500"), descuento = c(-0.2002002002002,
-0.285816362986781, -0.242571255306246, -0.150075037518759, -0.351446336847797,
-0.214362272240086)), row.names = c(NA, 6L), class = "data.frame")
在 ggplotly 中,文本参数放置在aes()
函数内。
当使用 plot_ly 我把它放在这里:
p <- plot_ly(ha, x = ~periodo, y = ~precio.actual, color = ~ecommerce,colors = c("#BED800", "#802D69", "#FF5500"), text = sprintf("S/ %s", comma(~precio.actual)), textinfo= "text", hoverinfo = "text") %>%
add_boxplot() %>%
layout(boxmode = "group") %>%
config(displayModeBar = FALSE)
p
上面的代码对工具提示的格式没有影响。
显示工具提示,但不需要货币格式。例如,它应该是 S/2,399,而不是 2399。
解决方案
layout
您可以通过传递一个带有 的列表来格式化 y 变量,该列表hoverformat
采用格式字符串,如sprintf
.
plot_ly(ha, x = ~periodo, y = ~precio.actual, color = ~ecommerce,
colors = c("#BED800", "#802D69", "#FF5500")) %>%
add_boxplot() %>%
layout(yaxis = list(
hoverformat = '$,.2f'
)) %>%
config(displayModeBar = FALSE)
如果你想变得更高级,你可以使用hovertemplate
. 这里有很多例子:https ://plot.ly/r/hover-text-and-formatting/
推荐阅读
- amazon-web-services - 如何将 SSL 证书添加到 Jenkins 凭据?
- vue.js - 为什么我的数据不显示在新行中?
- xslt - 在 XSLT 中选择节点,基于变量
- javascript - client.guilds 仅在日志中有效,在聊天中无效
- javascript - JavaScript 中的颜色变暗和变亮
- heroku - 在 Heroku 部署期间无法 cd 进入文件夹
- javascript - 在 React 中将 unix、UTC 时间从 API 端点转换为本地时间
- typo3 - TYPO3 从 9 升级到 10 后无法访问 Installtool
- flutter - 在颤振中更新应用程序的版本号
- time - 从频率 = 365 的时间序列中过滤某些月份