ggpubr+ggplot2轻松做到中英文字体分设,离达到出版要求又近了一步

本文主要是介绍ggpubr+ggplot2轻松做到中英文字体分设,离达到出版要求又近了一步,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:居居

日期:2021-11-08

ggpubr是一个ggplot2的拓展包,代码量大幅度降低。主题系统简单。闲话少说,上例子,代码可以直接copy去改改,我们要致力于从复杂的绘图工作中解脱出来,专心搞科研!

还是那句话,下面的代码懂的都懂,不明白的去看看ggplot2和ggpubr。

1.准备好程辑包(似乎只有R语言社区这么称呼这东西)

library("tidyverse")
library("rio")
library("ggpubr")
library("data.table")

2.ggpubr预设主题(用的时候直接复制,前面的序号可别复制进去,否则出错)

2.1 NPG
2.2 AAAS
2.3 NEJM
2.4 Lancet
2.5 JAMA
2.6 JCO
2.7 UCSCGB
2.8 D3
2.9 LocusZoom
2.10 IGV
2.11 COSMIC
2.12 UChicago
2.13 Star Trek
2.14 Tron Legacy
2.15 Futurama
2.16 Rick and Morty
2.17 The Simpsons

3.主题设置和字体设置(重头戏,中英字体分设在此,这部分只需要设置一次,后面终身使用)

fontSize=9 #字号
themE="NPG"
windowsFonts(st=windowsFont("宋体"),tnr=windowsFont("Times New Roman"),fs=windowsFont("仿宋"),wryh=windowsFont("微软雅黑"),dx=windowsFont("等线"))
p<- font("xylab", size = fontSize,family="dx")+ #坐标轴标题
#刻度的文字大小和字体font("xy.text", size = fontSize,family="tnr")+
#图例文字大小和字体font("legend.text", size = fontSize,family="tnr")+
#图例的标题的文字大小和字体font("legend.title", size = fontSize,family="tnr")+
#图例图标大小theme(legend.key.size = unit(0.1, "inches")) +
#图表网格颜色、线形、线宽grids(linetype = "dashed",color='gray66',size=0.1)+
#图表外边框的线宽border(size=0.3)+
#刻度的宽度和长度还有朝向theme(axis.ticks = element_line(size = 0.3),axis.ticks.length =unit(-0.1,'cm'))

4.准备数据

data<-dataset%>%gather("Hokkaido", "Aomori" ,  "Iwate"  ,  "Miyagi" ,  "Tokyo",key =City, ,value=Infection_population  )
data$Date<-as.character(data$Date)
data%>%dplyr::filter(Infection_population>10100 & Infection_population<20100)
data%>%select(1)
dataT<-data.table(dataset)
nrow(dataT)
view(dataT[Infection_population<1000])

在这里插入图片描述

5.绘图

g<-ggbarplot(data, "Date", "Infection_population",
fill = "City",
color = "white",
x.text.angle = 45 ,
y.text.angle = 0 ,
xlab="日期",
ylab="感染人数",
palette = themE,
position = position_dodge(0.9)
)+p
g+p
ggsave(filename = "foo2.png",g,width = 15, height = 9, dpi = 300, units = "cm",device='png')

在这里插入图片描述

由于先前设置的图片大小是15cm*9cm,所以在word中也要把图片调成这个大小,才能让字体大小等于9,英文9号对应的是中文小五号。中英文字号大小自行百度,其他的原理跟上一篇文章的一样seaborn傻瓜级主题设置,轻松使图表达到报告和论文的样式要求

ggplot2 绘图天下第一,这也是很多人不舍得放弃R的原因。欢迎交流

这篇关于ggpubr+ggplot2轻松做到中英文字体分设,离达到出版要求又近了一步的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/373812

相关文章

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

Java轻松实现在Excel中插入、提取或删除文本框

《Java轻松实现在Excel中插入、提取或删除文本框》在日常的Java开发中,我们经常需要与Excel文件打交道,当涉及到Excel中的文本框时,许多开发者可能会感到棘手,下面我们就来看看如何使用J... 目录Java操作Excel文本框的实战指南1. 插入Excel文本框2. 提取Excel文本框内容3

故障定位快人一步! 华为交换机排障命令汇总

《故障定位快人一步!华为交换机排障命令汇总》在使用华为交换机进行故障排查时,首先需要了解交换机的当前状态,通过执行基础命令,可以迅速获取到交换机的系统信息、接口状态以及配置情况等关键数据,为后续的故... 目录基础系统诊断接口与链路诊断L2切换排障L3路由与转发高级调试与日志性能、安全与扩展IT人无数次实战

Java轻松实现PDF转换为PDF/A的示例代码

《Java轻松实现PDF转换为PDF/A的示例代码》本文将深入探讨Java环境下,如何利用专业工具将PDF转换为PDF/A格式,为数字文档的永续保存提供可靠方案,文中的示例代码讲解详细,感兴趣的小伙伴... 目录为什么需要将PDF转换为PDF/A使用Spire.PDF for Java进行转换前的准备通过

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

小白也能轻松上手! 路由器设置优化指南

《小白也能轻松上手!路由器设置优化指南》在日常生活中,我们常常会遇到WiFi网速慢的问题,这主要受到三个方面的影响,首要原因是WiFi产品的配置优化不合理,其次是硬件性能的不足,以及宽带线路本身的质... 在数字化时代,网络已成为生活必需品,追剧、游戏、办公、学习都离不开稳定高速的网络。但很多人面对新路由器

SpringBoot+EasyPOI轻松实现Excel和Word导出PDF

《SpringBoot+EasyPOI轻松实现Excel和Word导出PDF》在企业级开发中,将Excel和Word文档导出为PDF是常见需求,本文将结合​​EasyPOI和​​Aspose系列工具实... 目录一、环境准备与依赖配置1.1 方案选型1.2 依赖配置(商业库方案)二、Excel 导出 PDF

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键