R 绘图仪中的空白

R 绘图仪中的空白,r,plotly,R,Plotly,生成条形图(包含许多条)并添加垂直线段时,plotly会在图形顶部生成大量空白。有办法解决这个问题吗 观察下图中图例和图形之间的距离 没有分段的同一图表没有此空白 暗中 library(dplyr) b <- seq(1, 400, 1) a <- as.character(b) c <- data.frame(letter = a, number = b) c$letter <- factor(c$letter, levels = unique

生成条形图(包含许多条)并添加垂直线段时,plotly会在图形顶部生成大量空白。有办法解决这个问题吗

观察下图中图例和图形之间的距离

没有分段的同一图表没有此空白

暗中

library(dplyr)



b <- seq(1, 400, 1)
a <- as.character(b)

c        <- data.frame(letter = a, number = b)
c$letter <- factor(c$letter, levels = unique(c$letter)[order(c$number, decreasing = FALSE)])


pal <- colorRampPalette(c("#590202", "#b30404", "#fe062f", "#f95c5c", "#fc7134", "#f9b738", "#fefb03", "#ffffcc"))



fig <- plot_ly(c, y = ~reorder(c$letter,-c$number), x = ~c$number, type = "bar", orientation = 'h', 
               marker = list(color = rev(pal(nrow(c)))), name = 'Bar') 
fig <- fig %>% add_segments(c, x = 100, xend = 100, y = c$letter[1],
                            yend = c$letter[nrow(c)],
                            mode = 'markers', name= 'line 1',
                            marker = list(color = 'green'), line = list(color = 'green'))
fig <- fig %>% add_segments(x = 200, xend = 200, y = c$letter[1],
                            yend = c$letter[nrow(c)],
                            mode = 'markers', name= 'line 2',
                            marker = list(color = 'orange'), line = list(color = 'orange'))
fig <- fig %>% layout(title = "", spikedistance =  -1, hovermode = TRUE, titlefont = list(size = 22), 
                      xaxis = list(title = "", titlefont = list(font = 18),  showticklabels = FALSE,
                   showgrid = FALSE, zeroline = FALSE, showline = FALSE),
                      yaxis = list(title = "", showgrid = FALSE,  autorange = "reversed"), 
                      autosize = T, height = (25*nrow(c)+150), margin = list(l=10, r=10, b=100, t=50, pad=4)) 

fig
库(dplyr)
B