R Shiny中ggplot2点图缩放时圆点溢出绘图区问题
R Shiny响应式ggplot2点图边界溢出问题
问题现象
在R Shiny应用中构建可随屏幕尺寸响应的ggplot2点图时,当窗口宽度发生变化,绘图区与分箱宽度会同步改变,导致堆叠的圆点经缩放后溢出绘图区边界。
注:相关绘图逻辑封装在独立函数中,未直接写入output变量,因业务需求需多次调用。
问题复现代码
d_frame <- df_galaxy d_frame <- na.omit(d_frame) d_frame <- scale(d_frame) d_frame <- d_frame[,c(5,6)] kmeans_g <- kmeans(d_frame, centers = 5, nstart = 25) dfd <- df_galaxy dfd$clusterid <- kmeans_g$cluster split_dfd <- split(dfd[,c(6)],dfd$clusterid) data <- melt(split_dfd,measure.vars = names(dfd[,c(6)])) names(data) <- c("variable","value","clusterid") ggplot(data,aes(x=value,fill=variable)) + geom_density(aes(y = ..density.. * (nrow(data))), col = 2,alpha=0.2) + geom_dotplot(binwidth = 12, stackgroups = TRUE, binpositions="all", aes(fill=clusterid),alpha=0.6,method = "histodot") + labs(x=names(dfd[,c(6)]),y="density") + coord_cartesian(ylim=c(0,2))
已加载依赖包
library(shiny) library(LaplacesDemon) library(ggcleveland) library(ggplot2) library(dplyr) library(GGally) library(tidyverse) library(cluster) library(factoextra) library(gridExtra) library(vcd) library(sjmisc) library(reshape2) library(ggdist)
效果参考
- 正常效果:

- 异常效果:

需求目标
需要实现类似maxheight的高度限制效果,或配置相对于绘图宽度的响应式binwidth参数,目前暂未找到可行解决方案。
内容的提问来源于stack exchange,提问作者STO.FAN
相关产品推荐
相关产品推荐

