写在前面:遇到问题一定要多去看官方文档!我再次狠狠推崇官方help(),你是我的神!!!

目录

1.一些背景前言

2. 解决办法

3. 官方文档解读

4. 制图详细步骤与代码

1.一些背景前言

绘制的分面图每个分面的标题标签包含特殊符号和下标,没办法正确显示,和chatgpt反复拉扯一个多小时,反复提问反复修改就是不能正确显示公式,网站搜索也无果

搜到一个帖子,感觉好像看到了希望,结果一运行提示错误,是我的ggplot2版本更新的比较高了,如果有比较低的朋友就可以参考这个方法来进行修改

如何在分面中添加数学表达式标签?_ggplot修改分面标签-CSDN博客

Error: ! Providing a labeller with variable and value arguments was deprecated in ggplot2 2.0.0 and is now defunct.

然后突然想到去看下官方文档,没想到这一看1分钟就解决了此问题!!我真是!!!

2. 解决办法

避免太多废话,直接先把解决方法放在最前面,直接使用:

facet_wrap(~factor(variable), labeller = label_parsed)

即在原本绘图的分面代码中,先设置好变量名称,然后加入 “labeller = label_parsed” 即可直接正确显示公式!

3. 官方文档解读

从官方文档的说明可以看出来,labeller也就是分面图的标签默认是值,所以需要将其改为parse,就可以正确显示数学公式

4. 制图详细步骤与代码

主要步骤:加载数据——设置变量名——绘制分面图

以官方数据为例

rm(list = ls())

#加载绘图包
library(ggplot2) 

#加载数据
a = mpg

#选择绘图的数据
mdata = mpg[, c(3,5,8,9)] 

# 标准化数据,便于数据在一个尺度能够更好的显示
data_scaled <- scale(mdata)
mmdata <- cbind(mpg[, 4], data_scaled)

#分类绘图,选择分类的标签,并融合为绘图数据
mapdata <- melt(mmdata, id = "year") 
#改下变量的名称,假设他们是数学公式和特殊符号alpha1,delta2,a3,b4
mapdata$variable <- factor(mapdata$variable,
                           levels = c("displ", "cyl", "cty", "hwy"),
                           labels = c(expression(alpha[1]), expression(Delta[2]), expression(a[3]), expression(b[4])))

#绘图
p1 <- ggplot(data = mapdata, aes(x = year, y = value, color = year))+
    geom_point(alpha = 0.7)+
    #重点重点!绘制分面图
    facet_wrap(~factor(variable), labeller = label_parsed)+
    #设置标签
    labs(x = "", y = "", title = "")+ 
    #不要图例了
    guides(color = "none")+
    theme_classic()+
    mytheme  #加一个自己常用的图片主题

print(p1)

结果图为:

成功显示!具体就不调整了,毕竟目的只是分面图名的显示

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐