如何用echarts4r实现带分段值与总计值标签的堆叠柱状图
在echarts4r堆叠柱状图中同时显示分段标签与总计标签
要实现堆叠柱状图顶端的总计标签,你可以通过添加一个透明的堆叠系列来承载总计数值标签,利用echarts的堆叠特性让标签自动定位到柱状图顶端。以下是修改后的完整代码:
library(echarts4r) dataset <- data.frame( categories = letters[1:5], smaller = 11:15, larger = 21:25, total = 11:15 + 21:25 ) e_charts(dataset, x = categories) %>% # 原有堆叠柱状图系列 e_bar(serie = larger, name = "Big", stack = "stack") %>% e_bar(serie = smaller, name = "Small", stack = "stack") %>% # 添加透明的总计系列(仅用于承载标签) e_bar(serie = total, name = "Total", stack = "stack", itemStyle = list(opacity = 0)) %>% # 给分段系列设置内部标签 e_labels(position = "inside", serie = c("Big", "Small")) %>% # 给总计系列设置顶端标签,加粗显示 e_labels(position = "top", serie = "Total", formatter = "{c}", textStyle = list(fontWeight = "bold")) %>% # 可选:隐藏总计系列的图例项,避免冗余 e_legend(show = FALSE)
关键逻辑说明:
- 透明系列:新增的
Total系列和前两个系列共用同一个stack,因此它的高度等于前两个系列的总和(即你的total列值),设置opacity = 0后不会在图表中显示,但标签会基于它的位置渲染。 - 分系列设置标签:通过
serie参数指定不同系列的标签配置,确保分段标签显示在内部,总计标签显示在顶端。 - 样式优化:给总计标签添加加粗样式,让它和分段标签区分开,也可以根据需求调整颜色、字号等。
内容的提问来源于stack exchange,提问作者mkranj
相关产品推荐
相关产品推荐

