ggplotly堆叠条形图执行筛选后y轴无法自动调整尺寸问题求助
解决方案
该问题的核心原因是ggplotly转换静态ggplot图形时,为了对齐静态图的轴显示效果,会预先计算并固定y轴的数值范围,关闭了默认的自动范围适配,所以筛选图例类别后轴范围不会跟随数据变化。
你可以在生成ggplotly对象后,手动重置y轴的自动范围配置即可实现和原生plot_ly一致的效果,修改后的代码如下:
library(plotly) library(ggplot2) library(dplyr) lab <- paste("Vertical Label", c(1, 2, 3, 4, 5)) ds <- data.frame(x = sample(lab, size = 1000, replace = T), y = sample(LETTERS[1:5], size = 1000, replace = T)) %>% group_by(x,y) %>% summarise(count= n()) # 生成ggplotly对象后调整y轴配置 ggplotly( ggplot(ds, aes(x = x,y=count, fill = y)) + geom_col() + theme(axis.text.x = element_text(angle = 90)) ) %>% layout(yaxis = list(autorange = TRUE, range = NULL))
如果需要同时让x轴也支持筛选后的自动调整,也可以在layout参数中添加xaxis = list(autorange = TRUE, range = NULL)配置。
内容的提问来源于stack exchange,提问作者AOE_player
相关产品推荐
相关产品推荐

