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

如何用R的Highcharter包创建指定样式的Solidgauge仪表盘图表?

调整Highcharts仪表盘代码实现目标样式

需要实现一个半圆环形的双分段仪表盘,分别展示Hombre(46.7)和Mujer(53.3)两个类别的占比,对应示例中的分段颜色布局。

所用数据集

df <- structure(list(Genero = c("Hombre", "Mujer"), Media = c(46.7, 53.3)), row.names = c(NA, -2L), class = c("etable", "data.frame"))

尝试的代码

stops <- list_parse2(df)
highchart() %>%
     hc_chart(type = 'solidgauge') %>%
     hc_pane(
          startAngle = -90,
          endAngle = 90,
          background = list(
               outerRadius = '100%',
               innerRadius = '60%',
               shape = 'arc'
          )
     ) %>%
     hc_yAxis(
          stops = stops,
          lineWidth = 0,
          minorTickWidth = 0,
          tickAmount = 2,
          min = 0,
          max = 100,
          labels = list(y = 25) 
     ) %>%
     hc_add_series(
          data = df$Media,
          color = '#EB6909'
     ) %>%
     hc_exporting(enabled = TRUE) %>%
     hc_plotOptions(series = list(animation = FALSE))

代码调整方案

  • 修正颜色分段映射逻辑:yAxis的stops参数需要的是「颜色-数值区间」的映射列表,不能直接解析原始数据集。需要手动构建对应分段的颜色映射:

    # 替换为示例图对应的颜色,比如Hombre用蓝色、Mujer用粉色
    stops <- list(
      list(color = '#4A90E2', value = 0),
      list(color = '#4A90E2', value = 46.7),
      list(color = '#E94E77', value = 46.7),
      list(color = '#E94E77', value = 100)
    )
    
  • 调整系列数据配置:solidgauge需要填充整个仪表盘范围,依靠stops来显示分段颜色,而非直接传入两个数值。修改系列数据部分:

    hc_add_series(
      data = list(100), # 填充0-100的完整范围
      colorByPoint = TRUE
    )
    
  • 添加类别标签与数值展示:如果需要在仪表盘上显示类别名称和对应数值,可以通过数据标签实现:

    hc_add_series(
      data = list(100),
      colorByPoint = TRUE,
      dataLabels = list(
        enabled = TRUE,
        format = '<div style="text-align:center">{point.name}<br>{point.y}%</div>',
        y = -20
      )
    ) %>%
    hc_series(
      list(name = 'Hombre', y = 46.7),
      list(name = 'Mujer', y = 53.3)
    )
    
  • 优化细节匹配示例:如果示例图有刻度标签或额外样式,可以调整hc_yAxis的tickPositions或labels参数,比如设置tickPositions = c(0, 46.7, 100)来显示分段刻度。

内容的提问来源于stack exchange,提问作者R USER MEMBER

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 19:02:04