You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用R highcharter绘制带散点的多列柱状图

修正Highcharts多列柱状图添加散点系列的错误

你的代码中添加散点系列的问题主要有两点:

  • targets向量长度(2个元素)与x轴类别数量(3个年份)不匹配,导致散点无法正确对应所有年份
  • 没有明确指定散点对应的x轴位置,Highcharts无法自动匹配到正确的年份

修正后的完整代码

tb_to_chart <- data.frame(A = c(3, 4, 2),
                          B = c(4, 2, 3)
                          )
# 调整targets长度与x轴类别一致,为每个年份设置对应目标值(可根据实际需求修改)
targets <- c(1, 3, 2)
row.names(tb_to_chart) <- c("2022", "2023", "2024")

chart <- highchart() %>%
  hc_chart(type = "column") %>%
  hc_xAxis(categories = row.names(tb_to_chart))

for(i in 1:ncol(tb_to_chart)){
  chart <- chart %>%
    hc_add_series(tb_to_chart[,i], name = names(tb_to_chart)[i])
}

# 正确添加散点系列:明确指定每个散点的x轴索引和y值
chart <- chart %>%
  hc_add_series(
    type = "scatter", 
    name = "target", 
    color = "red",
    # Highcharts的x轴索引从0开始,所以用x-1对应年份的位置
    data = lapply(1:length(targets), function(idx) list(x = idx - 1, y = targets[idx]))
  )

chart

关键修正说明

  • 匹配长度:确保targets的元素数量和x轴的年份数量一致,这样每个年份都能对应一个目标散点
  • 指定位置:通过data参数传递包含x(轴索引)和y(目标值)的列表,让散点精准定位到对应年份的上方

内容的提问来源于stack exchange,提问作者Shen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:17:29