使用Plotly基于DataFrame列唯一值创建堆叠柱状图的实现方法
R Plotly 堆叠柱状图代码调整方案
原代码问题说明
- 数据集名拼写错误:你创建的数据集命名为
note,但plot_ly()调用时错误写为mote - 冗余的
add_trace调用:不需要手动逐层添加年份堆叠序列,直接通过color参数映射Year字段,Plotly会自动按年份拆分堆叠层、生成对应图例
调整后可直接运行的代码
# 首先加载依赖包 library(plotly) country<-c("AFG","AFG","ALB","ALB") Year<-c("2019","2020","2019","2020") value<-c(4,5,6,7) note<-data.frame(country,Year,value) # 绘图时指定color参数映射Year为堆叠分层字段 fig <- plot_ly(note, x = ~country, y = ~value, color = ~Year, type = 'bar') fig <- fig %>% layout(yaxis = list(title = 'Count'), barmode = 'stack') fig
效果说明
运行代码后x轴将展示AFG、ALB两个国家的分类,每个柱子按2019、2020两个年份的value值堆叠显示,同时自动生成对应年份的图例标识。
内容的提问来源于stack exchange,提问作者firmo23
相关产品推荐
相关产品推荐

