如何在R Plotly中减小直方图柱子间空白(已试nbinsx仍有剩余)
解决plotly直方图柱子间空白的问题
你遇到的柱子间空白,本质是两个直方图默认各自计算分箱,导致分箱边界不对齐,光调nbinsx没用。试试下面几个办法:
- 给两个直方图加上
bingroup = 1,让它们共享同一套分箱规则,这样分箱边界完全对齐,空白会大幅减少。 - 调整
marker里的width参数,直接设置柱子的宽度(比如设为0.8,可按需微调),进一步消除残留空白。 - 配合统一的
nbinsx值,确保分箱数量一致,强化对齐效果。
修改后的代码如下:
x1 <- rnorm(50) x2 <- rnorm(10) fig <- plot_ly() fig <- fig %>% add_histogram( x = ~x1, name = "X1", marker = list(color = "red", width = 0.8), bingroup = 1, nbinsx = 15 ) %>% add_histogram( x = ~x2, name = "X2", marker = list(color = "blue", width = 0.8), bingroup = 1, nbinsx = 15 ) %>% layout(barmode = "overlay") # 若需要叠加显示,保留该布局设置
另外注意你原代码里的#blue是错误写法,应该直接写"blue"或者十六进制色值"#0000FF",否则颜色不会生效。
内容的提问来源于stack exchange,提问作者H. berg
相关产品推荐
相关产品推荐

