我正在尝试使用 R
的 plotly
库中的 bar
类型图来生成水平布局的盒状图,并在其背景中添加一条横线(而不是放在它们上面)。此外,我希望该线对称地延伸一个箱子单位。
这是我的操作:
plot.df <- data.frame(x = paste0("LONG NAME ",1:6),y = 0.2,width=0.75,group = c("A","B","B","B","C","A"),stringsAsFactors = F)
plot.df$group <- factor(plot.df$group)
plotly::plot_ly(plot.df) %>%
plotly::add_trace(x=~x,y=~y/2,type='scatter',mode='lines',line=list(color='black'),showlegend=F) %>%
plotly::add_bars(x=~x,y=~y,width=~width,color=~group) %>%
plotly::layout(xaxis=list(title=NA,zeroline=F,tickangle=45),yaxis=list(title=NA,zeroline=F,showgrid=F,range=c(0,1),showticklabels=F))
这将显示:
我的问题是:
- 如何在两个方向上扩展线条
- 如何将线条放在背景中,使其不覆盖框
- 我将
plot.df$y
指定为0.2,但将yaxis
范围指定为c(0,1)
,以便框看起来不像长条。但然后图例出现在太高的位置。有更好的方法可以获得图例显示较低的正方形框吗?