在echarts4r
中,我创建了一个工具提示,它可以显示总数和百分比。它在饼图或圆环图中工作,但在条形图中不工作,条形图显示 * 未定义的%*。我已经在条形图JS
函数中尝试了totals += params.value[1]; perc = params.value[1] / totals;
。但它不工作。
library(tidyverse)
library(echarts4r)
My_df <- data.frame(n = c(2, 4, 10),
x = c("A", "B", " C")) %>%
mutate(percent = round(n/sum(n), 2) )
字符串
1.圆环图:
My_df %>%
e_charts(x) %>%
e_pie(n, radius = c("50%", "70%")) %>%
e_tooltip(formatter = htmlwidgets::JS("
function(params){
return('<strong>' + params.name +
'</strong><br/>total: ' + params.value +
'<br />percent: ' + params.percent) +'%' } "))
型
的数据
1.条形图:
My_df %>%
e_charts(x) %>%
e_bar(n) %>%
e_tooltip(formatter = htmlwidgets::JS("
function(params){
return('<strong>' + params.name +
'</strong><br/>total: ' + params.value[1] +
'<br/>percent: ' + params.percent) +'%' } "))
型
2条答案
按热度按时间qvk1mo1f1#
不同之处在于,对于
e_pie
,百分比值由echarts
在后台计算,并作为属性添加到params
对象(换句话说:对于饼图,不需要手动计算百分比值,实际上不使用数据的percent
列)。但e_bar
的情况并非如此。因此,params.percent
是undefined
,因为没有名称为percent
的属性。然而,一种可能的方法是通过
bind
参数传递percent
值,然后将其存储在name
属性中,而Map到x
上的类别值可以从value
数组中检索,即value[0]
:字符串
的数据
z0qdvdin2#
我认为你也可以尝试使用
e_add_nested
。在这里,你可以在你的数据中传递除了已经Map的变量之外的其他变量。字符串
的数据