如何在echarts工具提示格式化程序中按组提取y轴值

vbopmzt1  于 12个月前  发布在  Echarts
关注(0)|答案(1)|浏览(105)

我想在自定义格式化函数中引用每个组的y轴值:

library(echarts4r)

# Example data
data <- data.frame(
  category = c("A", "B", "C", "D", "E"),
  value1 = c(10, 15, 20, 25, 30),
  value2 = c(12, 18, 22, 28, 35)
)

# define formatter function
formatter <- htmlwidgets::JS(
  "
   function(params) {
      var tooltipContent = '<b>Category:</b> ' + params[0].axisValue + '<br/>';
  
      params.forEach(function(item) {
        var groupName = item.seriesName;
        var groupValue = 1;
        var groupColor = item.color;
        
        tooltipContent += '<div style=\"display: inline-block; width: 10px; height: 10px; margin-right: 5px; background-color: ' + groupColor + '\"></div>' +
                          '<b>' + groupName + ':</b> ' + groupValue + '<br/>';
      });
      
      return tooltipContent;
    }
  "
)

# Create the echart
data |>
  e_charts(category) |>
  e_line(value1, name = "Group 1") |>
  e_line(value2, name = "Group 2") |>
  e_y_axis(name = "Value") |>
  e_x_axis(name = "Category") |>
  e_tooltip(trigger = "axis", axisPointer = list(type = "cross"), formatter = formatter)

特别是,如何替换var groupValue = 1;来引用每个组的y轴值?

wnvonmuf

wnvonmuf1#

要使用变量获取组的y轴值,并考虑到js数据的结构是一个数组的数组(从R列表到echarts 4 r使用ToListExplicit),您应该用途:

var groupValue = item.value[item.encode.y[0]];

参考在这里,转到2. Callback function,然后“当数据集像”...“我们可以通过以下方式获得y轴的值”...(不幸的是,在整个长文本中没有可链接的ID)。您的item变量代表params-每个数据集的参数对象。

相关问题