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

如何在R的Highcharter中创建关联两个数据点的注释?

用Highcharter添加关联两个数据点的注释

要实现连接两个数据点的注释,需要利用Highcharter注释的points参数定义关联的两个点,同时通过connector配置连接线样式。以下是修改后的完整代码:

# 加载包
library(highcharter)

# 加载泰坦尼克号数据
data <- datasets::Titanic

# 数据整理
data_long <- as.data.frame(as.table(data))
colnames(data_long) <- c("Class", "Sex", "Age", "Survived", "Count")
data_long$Count <- as.numeric(data_long$Count)

# 筛选成年乘客数据
data_long <- subset(data_long, Age == "Adult")

# 计算百分比堆叠对应的位置(以男性和女性一等舱幸存者为例)
male_first_survived <- subset(data_long, Sex == "Male" & Class == "1st" & Survived == "Yes")$Count
male_total <- sum(subset(data_long, Sex == "Male")$Count)
male_pct <- (male_first_survived / male_total) * 100

female_first_survived <- subset(data_long, Sex == "Female" & Class == "1st" & Survived == "Yes")$Count
female_total <- sum(subset(data_long, Sex == "Female")$Count)
female_pct <- (female_first_survived / female_total) * 100

# 绘制堆叠百分比柱状图并添加连接注释
hchart(data_long, "column", hcaes(x = Sex, y = Count, group = interaction(Survived, Class)), stack = TRUE) %>%
  hc_plotOptions(column = list(stacking = "percent")) %>%
  hc_annotations(list(
    labels = list(
      list(
        # 定义两个关联的点
        points = list(
          list(x = 0, y = male_pct, xAxis = 0, yAxis = 0), # 男性一侧的目标点
          list(x = 1, y = female_pct, xAxis = 0, yAxis = 0)  # 女性一侧的目标点
        ),
        text = paste0("差异: ", round(abs(female_pct - male_pct), 1), "%"),
        style = list(fontSize = "11px"),
        # 配置连接线样式
        connector = list(
          lineWidth = 1,
          stroke = "#999",
          dashStyle = "Solid"
        ),
        # 调整文本位置到连线上方居中
        x = 0.5,
        y = max(male_pct, female_pct) + 5,
        align = "center"
      )
    )
  ))

关键修改说明

  • points参数:替代原代码的单个point,用数组传入两个需要关联的数据点,每个点通过x(x轴索引,0对应Male、1对应Female)、y(百分比值)定位。
  • connector配置:设置连接线的宽度、颜色和线型,实现两点间的连线效果。
  • 动态计算百分比:根据实际数据计算目标点的百分比位置,确保注释精准对应数据。
  • 文本位置优化:将注释文本放在两点连线的上方居中位置,避免遮挡图表元素,提升可读性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:50:11