如何让Plotly甜甜圈图悬浮信息显示所有子组的Type与Value?
解决Plotly甜甜圈图悬浮提示显示所有子组信息的问题
问题原因
你当前的代码未对type_group做分组汇总:
- 直接用每行的
Value作为扇形数值,实际应该取每个分组的总Value - 悬浮文本
hovertext仅保留了每个分组下第一行的子组信息,未合并同组内所有子项内容
解决方案
先按type_group分组,汇总每组的总Value,并将同组内所有子组的Type和Value拼接成多行悬浮文本,再绘制甜甜圈图:
library(dplyr) library(plotly) # 1. 分组汇总数据 data_summary <- data %>% group_by(type_group) %>% summarize( total_value = sum(Value), # 计算每个分组的总数值 # 拼接所有子组信息,用<br>实现hover时换行显示 hover_text = paste(paste0("Type: ", Type, ", Value: ", Value), collapse = "<br>") ) # 2. 绘制甜甜圈图 plot_ly(data_summary, labels = ~type_group, values = ~total_value, hovertext = ~hover_text, textposition = 'inside') %>% add_pie(hole = 0.6) %>% layout(hovermode = "closest")
效果说明
- 每个扇形对应一个
type_group,数值为该分组的总Value - 鼠标悬浮时,会显示该分组下所有子组的
Type和Value信息,每行对应一个子项
内容的提问来源于stack exchange,提问作者Nico
相关产品推荐
相关产品推荐

