当前位置:   article > 正文

【R语言】ggplot2作图补充(1)_theme(axis.text.x = element_text(angle = 45, size

theme(axis.text.x = element_text(angle = 45, size = 8))

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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"))
  • 1
  • 2
  • 3
  • 4
  • 5

3:添加和管理标题

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

关于副标题的添加和位置设置,看这个文档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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

5:ggplot2加透明度

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

6:输出上标、下标

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

title(main = expression(Sigma))

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

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

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

一个更复杂的例子:

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

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

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

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

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/132024
推荐阅读
相关标签
  

闽ICP备14008679号