使用库echarts4r
,我想在使用日历时格式化工具提示。
将另一行添加到John Coene's example
library(echarts4r)
dates <- seq.Date(as.Date("2018-01-01"), as.Date("2018-12-31"), by = "day")
values <- rnorm(length(dates), 20, 6)
year <- data.frame(date = dates, values = values)
year %>%
e_charts(date) %>%
e_calendar(range = "2018") %>%
e_heatmap(values, coord.system = "calendar") %>%
e_visual_map(max = 30) %>%
e_title("Calendar", "Heatmap") %>%
e_tooltip(trigger = "item", show = TRUE)
当鼠标悬停在日历中的单元格时,这会显示值1.23456
的工具提示。如何格式化值以显示my value is 1.2
。
我试图理解在echarts文档中使用formatter,但是我不知道如何处理a, b, c, d
从小插图(https://github.com/JohnCoene/echarts4r/blob/master/vignettes/tooltip.Rmd)看起来好像有必要在java脚本中格式化。一个可能的版本是
year %>%
e_charts(date) %>%
e_calendar(range = "2018") %>%
e_heatmap(values, coord.system = "calendar") %>%
e_visual_map(max = 30) %>%
e_title("Calendar", "Heatmap") %>%
e_tooltip(formatter = htmlwidgets::JS("
function(params){
return('value: ' +
parseFloat((params.value[1] * 10) / 10).toFixed(1))
}
")
)
此方法显示名称“值” - 不是必需的,如果您只想显示数值,则可以删除。这也是最接近的十分之一 - 不确定是否需要。要显示多个值,请包含'<br> /'('br'周围没有空格)以在工具提示显示中创建换行符(示例位于晕影中)。
我会简单地按如下方式处理:
year$values_rounded <- round(year$values, digits = 1)
year %>%
e_charts(date) %>%
e_calendar(range = "2018") %>%
e_heatmap(values_rounded, coord.system = "calendar") %>%
e_visual_map(max = 30) %>%
e_title("Calendar", "Heatmap") %>%
e_tooltip(trigger = "item", show = TRUE)
如果四舍五入到你想要的第一位数,请告诉我。
注意行:heatmap(values,coord.system =“calendar”)%>%
正确的是:e_heatmap(values,coord_system =“calendar”)%>%