使用ggeffects绘制逻辑回归图时如何统一Y轴范围为0-100%?
统一ggeffects子图Y轴范围的解决方法
你可以在生成每个子图时,给ggplot对象添加Y轴范围限制,就能让所有子图的Y轴统一为0-100%。这里有两种实用方式:
方法1:用scale_y_continuous()固定刻度范围
这个方法会直接设定Y轴的刻度区间,若有数据点超出该范围会被过滤:
plts = lapply(names(coefficients(glm.fit))[-1], function(i){ plot(ggpredict(glm.fit, i)) + scale_y_continuous(limits = c(0, 100)) }) wrap_plots(plts, ncol = 2, nrow = 4)
方法2:用coord_cartesian()强制显示范围
如果不想过滤任何数据,只是强制展示0-100%的Y轴视图(超出范围的数据点会被截断显示,但数据本身保留),可以用这个函数:
plts = lapply(names(coefficients(glm.fit))[-1], function(i){ plot(ggpredict(glm.fit, i)) + coord_cartesian(ylim = c(0, 100)) }) wrap_plots(plts, ncol = 2, nrow = 4)
如果你的预测概率都在0-100%区间内,两种方法效果一致;若存在极端值,coord_cartesian()会更合适。
内容的提问来源于stack exchange,提问作者Mohammad
相关产品推荐
相关产品推荐

