如何修改cplot的X轴标签:将长分类名替换为1-12数字
解决cplot绘制边际效应时X轴标签重叠的问题
方法1:直接修改分类变量的水平标签(最简便)
在绘图前把Region变量的水平标签替换成1到12的数字,这样cplot会直接用新标签生成X轴,完全避免标签重叠:
# 假设数据集名为df,修改Region的水平标签 levels(df$Region) <- 1:12 # 绘制平均边际效应图 cplot(model, "Region", xlab = "Dwelling's Region")
方法2:关闭默认坐标轴后手动添加
如果不想改动原始数据,可以在调用cplot时关闭默认坐标轴,之后手动绘制自定义的X轴:
# 绘制图形时关闭默认坐标轴,暂不设置X轴标签 cplot(model, "Region", xlab = "", axes = FALSE) # 添加X轴,指定位置和1-12的数字标签 axis(1, at = 1:12, labels = 1:12) # 添加默认样式的Y轴 axis(2) # 补充X轴标题 title(xlab = "Dwelling's Region") # 为图形添加框线 box()
原代码无效的原因
cplot函数默认会自动生成带有原始分类标签的X轴,你后续调用axis()生成的新轴会被默认轴覆盖,导致无法显示。必须先通过axes=FALSE关闭默认坐标轴,才能让自定义轴生效。
内容的提问来源于stack exchange,提问作者Saïd Maanan
相关产品推荐
相关产品推荐

