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

如何使用Plotly绘制邮件发送与点击数据的微重叠柱状图?

调整方案

你只需要修改barmode参数,同时给两个柱子序列设置差异化宽度即可实现微重叠效果,修改后的完整代码如下:

Emails <- c("g", "o", "m")
Sent <- c(20, 24, 33)
Clicked <- c(12, 18, 29)
data <- data.frame(Emails, Sent, Clicked)
library(plotly)
fig <- plot_ly(data, x = ~Emails, y = ~Sent, type = 'bar', name = 'Sent',
               marker=list(color="#556361"),
               # 底层发送量柱子宽度稍大
               width = 0.6,
               hoverinfo = ~paste(Emails, Sent))
fig <- fig %>% add_trace(y = ~Clicked, name = 'Clicked',
                         marker=list(color="#A72608"),
                         # 上层点击量柱子宽度稍小,不会完全挡住底层
                         width = 0.45,
                         hoverinfo = ~paste(Emails, Clicked))

# 把barmode从stack改为overlay实现重叠
fig <- fig %>% layout(yaxis = list(title = 'Count'), 
                      barmode = 'overlay')

fig

修改说明

  • 将原代码中barmode = 'stack'改为barmode = 'overlay',开启柱子重叠模式
  • 给发送量(Sent)柱子设置稍大的宽度(示例用0.6),点击量(Clicked)柱子设置稍小的宽度(示例用0.45),你可以根据自己的视觉需求调整两个宽度的数值,控制重叠程度
  • 修正了原代码中hoverinfo的写法,添加~符号保证提示信息和每行数据正确绑定

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:54:03