ggplot2中facet_wrap分面标签自定义问题求助
解决ggplot2 facet_wrap自定义分面标签的问题
嘿,这个问题我之前处理过好几次!要把分面的数字标签换成自定义名称,有两种简单好用的方法,给你拆解一下:
方法1:把party列转为因子并设置自定义标签
这种方法是从数据本身入手,把你的party列转换成因子类型,同时指定好对应的自定义标签。这样ggplot会自动识别这些标签作为分面标题,不用改绘图代码的其他部分:
# 先修改数据框里的party列,按需替换levels和labels的内容 positions.df$party <- factor(positions.df$party, levels = c(1, 2, 3), # 这里填你当前的数字标签(比如1、2、3) labels = c("民主党", "共和党", "独立党")) # 对应你想要的自定义名称
修改完数据后,再运行你原来的绘图代码,分面标签就会变成你设置的自定义名称啦。
方法2:用facet_wrap的labeller参数直接指定
如果你不想修改原始数据,可以在facet_wrap里直接用labeller参数来映射标签,一步到位:
library(ggplot2) mlm.plots <- ggplot(positions.df, aes(x, y)) + geom_point(size=0.75, shape=1, colour="darkred", fill="pink")+ geom_abline(data = multilevel.df, aes(intercept=V2, slope=V3, group=party), color="red", size=.1)+ facet_wrap(~party, ncol=2, # 在这里指定数字标签和自定义名称的映射 labeller = labeller(party = c("1"="民主党", "2"="共和党", "3"="独立党"))) + xlab("")+ ylab("")
小提示:如果你的
party列是数值型的,记得在映射里把数字用引号括起来(比如"1"),这样才能正确匹配哦。
内容的提问来源于stack exchange,提问作者Lindsay
相关产品推荐
相关产品推荐

