【R语言】ggplot2作图补充(1)

1:隐去坐标轴标签(xlab、ylab)

#加载包
library(ggplot2)
library(gcookbook)
#作图,此时坐标轴标签为x = group, y = weight
pg_plot <- ggplot(PlantGrowth, aes(x = group, y = weight)) +
geom_boxplot()
pg_plot
#去掉x轴标签
pg_plot + xlab(NULL)

2:移除ggplot2的网格和背景色

#方法一:
> pg_plot + theme(panel.grid.major =element_blank(), panel.grid.minor = element_blank(), panel.background = element_blank(),axis.line = element_line(colour = "black"))

#方法二:
> pg_plot + theme_bw() + theme(panel.border = element_blank(),panel.grid.major = element_blank(), panel.grid.minor = element_blank(),axis.line = element_line(colour = "black"))

3:添加和管理标题

#使用ggtitle()等于使用labs(title = "I'm a title")
pg_plot + ggtitle("I'm a titile") + 
theme(plot.title = element_text(hjust = 0.5)) #设置标题居中

关于副标题的添加和位置设置,看这个文档https://zhuanlan.zhihu.com/p/93224999

4:修改坐标轴刻度

#1.修改坐标轴显示范围为A-B
scale_x_continous(limits=c("A","B")
#或者
ylim(A,B)

#2.修改坐标轴显示刻度
scale_x_continous(limits=c("A","B"), breaks=seq(起始值,终止值,间隔))

#3.修改坐标轴标签
#旋转坐标轴标签
theme(axis.text.x=element_text(angle=45,size=8))

#4.修改坐标轴的属性,theme_text()是存储文字属性的函数
theme(axis.text.x=theme_text(X轴属性),asix.text.y=theme_text(Y轴属性))

#5.修改字体
windowsFonts(myFont1=windowsFont("Times New Roman"),myFont2=windowsFont("华文行楷"))

#6.旋转坐标轴
oord_flip()

#7.坐标轴转换标度
#横坐标log10转换
scale_x_log10()

5:ggplot2加透明度

#加上透明度,alpha范围是从0到1,1是原来的颜色,数字越大颜色越深。
pg_plot <- ggplot(PlantGrowth, aes(x = group, y = weight) + geom_point(size = 3, alpha = 0.3)

6:输出上标、下标

平时作图的时候需要输出标题里需要有CH4\CO2\N2O这些需要上下标的情况
使用希腊字符、上标、下标及数学公式,都需要利用一个函数:expression(),具体使用方式如下:

title(main = expression(Sigma))

#expression()中的下标为[],上标为^,空格为~,连接符为*。示例代码如下:
plot(cars)
title(main = expression(Sigma[1]~'a'*'n'*'d'~Sigma^2))

输出结果:
标题就是上面的代码运行的结果
paste
可以使用paste()与expression()进行组合,输出和上面一样的结果

plot(cars)
title(main = expression(paste(Sigma[1], ' and ', Sigma^2)))

一个更复杂的例子:

expression(paste((frac(1, m)+frac(1, n))^-1, ABCD[paste(m, ',', n)]))

在这里插入图片描述
但是,如果需要上下标的在标题中,也就是在引号里面,那应该怎么办呢

#如果在末尾的话直接跟在引号的后面,不能加载引号里面,不然输出结果就是CH[4];如果下标在中间,那么[]结束之后应该有一个句号来接着剩下的部分
ggplot()+labs(title = expression(paste("CH"[4])))
ggplot()+labs(title = expression(paste("N"[2],"O")))

上面都是今天查到的内容,以自己今天的代码为例总结一下

P1 <- 
#选择用来画图的data,以及X,Y轴
ggplot(preds,aes(x=seq(min(data1$precipitation_mm),max(data1$precipitation_mm)),y=preds1$pred))
#添加置信区间的线,同时设置了它的透明度
+geom_ribbon(aes(ymin=preds1$ci.lb,ymax=preds1$ci.ub),alpha=0.2) 
#添加拟合线,设置线的粗细和颜色
+geom_line(size=1,colour = "#0000FF")
#添加散点,用来做散点的数据,每个点的X和Y都是什么,大小和透明度
+geom_point(data=data1,aes(x=data1$precipitation_mm,y=exp(data1$yi)),size = size+0.8,alpha=0.5) 
#添加一条Y=1的虚线作为参考线
+ geom_hline(yintercept = 1,linetype="dashed",size=1,colour = "red") 
#设置Y轴的范围
+ ylim(0,9)
#设置标题
+ labs(title = expression(paste("CH"[4])))
#设置标题居中
+theme(plot.title = element_text(hjust = 0.5)) 
#设置X和Y标签
+xlab("precipitation(mm)") + ylab("Response ratio") 
#设置去掉背景网格
+  theme(panel.grid.major =element_blank(), panel.grid.minor = element_blank(), panel.background = element_blank(),axis.line = element_line(colour = "black"))
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值