如何让R中Highchart地图Tooltip显示数据框的多列内容
自定义Highcharts地图Tooltip解决方案
修改你的hcmap调用代码,通过tooltip.formatter结合JavaScript函数自定义提示框内容,具体代码如下:
hcmap( "countries/us/us-mi-all", data = df, value = "Column B", joinBy = c("name", "County"), name = "Michigan Counties", dataLabels = list(enabled = TRUE, format = "{point.name}"), borderColor = "#FAFAFA", borderWidth = 0.1, tooltip = list( formatter = JS("function() { return '<b>' + this.point.name + '</b><br/>' + 'Column B: ' + this.point.value + '%<br/>' + 'Column C: ' + this.point['Column C'] + '%<br/>' + 'Column D: ' + this.point['Column D'] + '%'; }") ) )
核心要点
- 必须用
JS()包裹JavaScript格式化函数,这是highcharter对接Highcharts原生API的标准方式 this.point.name对应地图上的郡名称this.point.value获取你指定的value = "Column B"的数值- 数据框中的其他列(Column C、Column D)可通过
this.point['列名']直接访问,因为数据已通过joinBy绑定到地图元素上 - 用
<br/>实现换行,<b>标签用于加粗郡名(不需要可直接移除)
内容的提问来源于stack exchange,提问作者Jack Tait
相关产品推荐
相关产品推荐

