memory.limit()
memory.limit(100000)
getwd()
setwd("E:/科学论文/2018Winter_PM25年际变化_SDEI/20190315 文章绘图/Fig_2 重点区域年际变化/")
jpeg("Fig_2_Boxplot_each region_V2.jpeg",width=600,height=600)
p<-ggplot(PM_data,aes(x=region,y=PM,fill=region))+geom_boxplot()+
theme(legend.position="none",axis.text=element_text(size=20),axis.title=element_text(size=20,face="bold")
,plot.title = element_text(size=20,hjust = 0.5))+
labs(title = "(a)箱型图",x=" ",y=expression(PM[2.5]*' ('*mu*"g /"*m^{3}*')'))
#ylab(expression(PM[2.5]*' ('*mu*"g /"*m^{3}*')'))+ggtitle("(a)箱型图")+xlab(" ")
p
dev.off()
getwd()
setwd("E:/科学论文/2018Winter_PM25年际变化_SDEI/20190315 文章绘图/Fig_2 重点区域年际变化/")
jpeg("Fig_2_line chart_V2.jpeg",width=600,height=600)
p<-ggplot(data=PM_data,aes(x=year,y=PM, group=region))+
geom_line(aes(color=region),lwd=2)+
geom_point()+
theme(legend.position="bottom",axis.text=element_text(size=20),axis.title=element_text(size=20,face="bold")
,plot.title = element_text(size=20,hjust = 0.5)
,legend.text = element_text(size = 16, face = 'bold')
,legend.title=element_blank())+
labs(title = "(b)区域年均浓度时间序列",x=" ",y=expression(PM[2.5]*' ('*mu*"g /"*m^{3}*')'))
p
dev.off()
(1)library(patchwork)
R | ggplot拼图 —— patchwork
R小tip(六)ggplot2拼图
(2)这个效果更好
ggplot2|ggpubr进行“paper”组图合并
R 函数学习 - colorRamp() 和 colorRampPalette()
R 语言配色收集
#设置自己想要的colorbar内容
color_bar <- colorRampPalette(c("#ffffff","#c0c0c0", "#ffff80","#d0d000", "#00ff00","#00bb00", "#008000"))
#带n可以设置n个颜色,做梯度
p1<-ggplot() +#一大堆其他内容
scale_fill_gradientn(colors=color_bar(12))+ #带n可以设置n个颜色,做梯度
【r<-ggplot2】修改x和y轴刻度
title: "Rfonts"
author: "wintryheart"
date: "2020/7/6"
output:
html_document:
toc: true
toc_depth: 2
number_sections: true
在windows系统中,字体集(the font family)只是一个字符串名字,必须映射到特定的windows字体。
windowsFonts() 函数,用于列出已有的字体映射,或定义新的映射。 windowsFont() 函数用于创建一个新的映射。
系统自带三个字体集名: "serif" 、 "sans" 、 "mono" ,分别映射 "TT Times New Roman" 、 "TT Arial" 、 "TT Courier New" 。
这些映射只有在字体风格(font face)是 1 (plain), 2 (bold), 3 (italic), or 4 (bolditalic) 时使用。
showtext 的主要优点是用户可以使用任何受支持的字体文件进行文本渲染,文本符号将被转换为多边形(用于矢量图形)或光栅图像(用于位图和屏幕图形),从而在所有平台上生成与设备无关的输出。如果您想在图形设备中使用非标准字体,此函数将非常有用。
为了使pdf()更好地显示特定的中文字体,需要调用中文字体文件,比如windows系统自带的 simkai.ttf 。
Cairo初始化一个新的图形设备,使用Cairo图形库进行渲染。当前能制作高质量的PNG、JPEG、TIFF位图文件、具有嵌入式字体的高分辨率PDF文件、SVG图形和PostScript文件。它还提供了X11和Windows交互式图形设备。不像其他设备,它支持所有的图形功能,包括alpha混合,抗锯齿等。
CairoX11()、CairoPNG()、CairoPDF()、CairoPS()和CairoSVG()是Cairo的简易的基本类型包装器,它们使用的参数与所替换的设备(如X11()、png()、pdf()等)相同。
但由于Cairo()更灵活,建议使用Cario()函数。
Cairo.capabilities()查看cairo包支持的所有图形格式。
注:Cairo()输出pdf图形时,必须设置dpi。没有经验,不好设置。在上例中dpi不能大于100。不如直接使用CairPDF()更为方便,不用设置dpi。
注:
https://www.rdocumentation.org/packages/customLayout/versions/0.2.0
https://mp.weixin.qq.com/s/zbp8pOQcNB4XBBF5SCg5GA
customLayout用于拼图特别方便,尤其是仪表盘布局
支持R内置的base绘图对象,ggplot2对象(与grid结合 )
Hide
”library(ggplot2)library(customLayout)
通过设置简单的数字矩阵以及对应的宽高比,可以非常方便的设置出来数字拼图
关键函数:
mat数字矩阵必须从1开始,且必须连续
其它拼图包没有的功能,非常好用
跟合并矩阵类似。分为行合并和列合并
这个功能也是其它包没有的,非常有用
关键函数:
参数lay表示大画布,参数newlay表示要嵌套进去的小画布,field表示指定要嵌套的区域编号
关键函数:
cowplot是一个ggplot2包的简单补充,意味着其可以为ggplot2提供出版物级的主题等。
更重要的是,这个包可以组合多个”ggplot2”绘制的图为一个图,并且为每个图加上例如A,B,C等标签,
这在具体的出版物上通常是要求的。 语法结构与ggplot类似,将ggplot2图作为一个对象置于 ggdraw() 中
表达式:
draw_plot(plot, x = 0, y = 0, width = 1, height = 1, scale = 1)
draw_text(text, x = 0.5, y = 0.5, size = 14, hjust = 0.5, vjust = 0.5,...)
draw_plot_label(label, x = 0, y = 1, hjust = -0.5, vjust = 1.5, size = 16, fontface = "bold", family = NULL, colour = NULL, ...)
参数解释:
grid中文翻译为网格,可将其解释为画布分割,通过设定相应的参数,从而可以任意的摆放图形
常用函数:
语法:
参数解释:
layout参数
综合例子
子母图,主要是形成局部放大的效果,既可以从整体上对比,又兼顾特别小的数据组,或特别密的数据点可以查看,而没有必要单独做2张图
<pre style="box-sizing: border-boxfont-family: Monaco, Menlo, Consolas, "Courier New", monospacefont-size: 13pxwhite-space: pre-wrapdisplay: blockpadding: 9.5pxmargin: 0px 0px 10pxline-height: 1.42857color: rgb(51, 51, 51)word-break: break-alloverflow-wrap: break-word !importantbackground-color: whiteborder: 1px solid rgb(204, 204, 204)border-radius: 4pxmax-width: 100%font-variant-numeric: normalfont-variant-east-asian: normalletter-spacing: 0.544pxtext-align: justifywidows: 1overflow: auto">## png
蝴蝶图
主要函数:
语法:
参数解释:
把绘图对象添加到列表总,并把该列表传递给 grid.arrange() 函数中的grobs参数
子母图
grid包可以画字母图
安装gridExtra包后,ggplot2中多了一个 ggplotGrob( )函数,可以创建grob对象参数