繁体   English   中英

如何设置文本以在工具提示上显示货币(使用 plot_ly NOT ggplotly)?

[英]How to set text to show currency on tooltip (using plot_ly NOT 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。

在此处输入图片说明

您可以通过使用hoverformat传递一个列表来格式化layout的 y 变量,该列表采用类似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) 

带有格式化hoverinfo的plotply图

如果你想变得更漂亮,你可以使用hovertemplate 这里有很多例子: https : //plot.ly/r/hover-text-and-formatting/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM