R - 变化plot字形,嵌入字体以pdf
近期使用R绘图遇到两个问题
1. 使用不同的字体
2. 保存 plot 至 pdf 当字体嵌入pdf (embed the font)
使用extrafont和Ghostscript能够解决这两个问题。
1. Ghostscript
安装: http://www.ghostscript.com/download/gsdnld.html
2. extrafont (R package)
下面命令都是在R中执行
- 安装
> install.packages("extrafont")
> library(extrafont)
> #这一步定位系统字体。比方C:\Windows\Fonts\*.ttf, 须要几分钟的时间
> font_import()
> loadfonts()
- 使用
> #查看可用的font family
> fonts()
> library(ggplot2)
> #使用字体Times New Roman绘图
> p <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
xlab("Weight") + ylab("Miles per Gallon") +
theme(text=element_text(family="Times New Roman"))
> #保存pdf
> ggsave("font_ggplot.pdf", plot=p)
- 将字体嵌入pdf
> #指定ghostscript的路径
> Sys.setenv(R_GSCMD = "C:/Program Files/gs/gs9.05/bin/gswin32c.exe")
> #嵌入字体
> embed_fonts("font_ggplot.pdf", outfile="font_ggplot_embed.pdf")
所得到的font_ggplot_embed.pdf就是所须要的pdf啦!
能够使用Adobe Reader -> File -> Properties -> Fonts 来查看字体是否已嵌入
(以上内容部分来自http://cran.r-project.org/web/packages/extrafont/README.html)
Bonus:直接使用Ghostscript命令行嵌入字体到pdf
(在cmd中执行,别忘了将ghostscript增加环境变量)
gswin32c -sFONTPATH=C:\Windows\Fonts -sDEVICE=pdfwrite -dEmbedAllFonts=true -o output.pdf input.pdf
版权声明:本文博客原创文章,博客,未经同意,不得转载。
R - 变化plot字形,嵌入字体以pdf的更多相关文章
- 嵌入字体@font-face
嵌入字体@font-face @font-face能够加载服务器端的字体文件,让浏览器端可以显示用户电脑里没有安装的字体. 语法: @font-face { font-family : 字体名称; s ...
- 【CSS3】---嵌入字体@font-face
@font-face能够加载服务器端的字体文件,让浏览器端可以显示用户电脑里没有安装的字体. 语法: @font-face { font-family : 字体名称; src : 字体文件在服务器上的 ...
- as3.0 嵌入字体的用法
var txt:TextField = new TextField();//创建文本 txt.embedFonts=true;//确定嵌入字体 var font:Font=new MyFont();/ ...
- [ActionScript 3.0] 使用Embed在类中嵌入字体
package { import flash.display.Sprite; import flash.text.Font; import flash.text.TextField; import f ...
- [ActionScript 3.0] 嵌入字体
首先我们要生成一个swf的字体库,以微软雅黑为例,新建YaHei_font.fla,ctrl+L,在库面板中右键→新建字型,弹出字体元件属性窗口,选择要嵌入的字体, 并选择为ActionScript ...
- 学习《R数据科学》高清中文PDF+高清英文PDF+源代码
学习R有不会的就查工具书<R数据科学>, 工具不是重点,创造价值才是目的.具体到数据科学,表现形式往往是提供解决方案或者做出某种决策.至于使用什么语言,采用什么工具,不本质.用 R 还是 ...
- pdf嵌入字体
论文提交时,要求所有的字体都是嵌入的,为这个问题折腾了很久,发现了一个很好的答案,记一下: http://stackoverflow.com/questions/4231656/how-do-i-em ...
- R语言plot函数参数合集
最近用R语言画图,plot 函数是用的最多的函数,而他的参数非常繁多,由此总结一下,以供后续方便查阅. plot(x, y = NULL, type = "p", xlim = N ...
- PPT嵌入字体的方法
使用ppt的时候,很多时候会使用一些特殊字体,在其他计算机上无法正常显示.这个时候就需要导出PPT的时候进行字体嵌入. 1.1 常规方法 所谓常规方法,是指那些字体的许可协议允许随意分发,我们才能导出 ...
随机推荐
- javascript于"return obj === void 0"这样的书面理由和优势
得知underscore.js什么时候,查看源代码经常出现的类别似下面的代码: if (context === void 0) return func; if (array == null) retu ...
- HTTP响应代码
HTTP响应代码 1xx - 消息通知 这些状态代码表示临时响应.client在收到常规响应.应准备接收一个或多个 1xx 应. · 100 - Continue 初始的请求已经接受,客户应当继续发送 ...
- structs2注解+jsp+ajax实现post异步载入select
流程: 1.点击载入btn发起异步请求post 2.后台处理请求返回数据 3.前端获取数据成功,对数据进行处理 前端: html:首先要导入jq包,不然怎么用ajax呢. <script typ ...
- Appium - iOS Mac环境结构
Appium - iOS Mac环境结构 笔者: Max.Bai 时间: 2014/10 1. iOS开发环境的搭建 1.1系统要求 MacOS X 10.7 or higher, 10.9.2 re ...
- Android.9图片评论(一个)
什么是.9图片 至于什么是.9图片这里就简单提一下,即图片后缀名前有.9的图片,如pic.9.png.pic1.9.jgp,诸如此类的图片就称为.9图片. .9图片的作用 ①.9图片的作用是在图片拉伸 ...
- Android Drawable绘图学习笔记(转)
如何获取 res 中的资源 数据包package:android.content.res 主要类:Resources Android SDK中的简介:Class for accessing an ap ...
- Properties类读写.properties配置文件
package com.hzk.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFo ...
- (大数据工程师学习路径)第三步 Git Community Book----中级技能(下)
一.追踪分支 1.追踪分支 在Git中‘追踪分支’是用于联系本地分支和远程分支的. 如果你在’追踪分支'(Tracking Branches)上执行推送(push)或拉取(pull)时,它会自动推送( ...
- CodeIgniter入门——HelloWorld
原文:CodeIgniter入门--HelloWorld CodeIgniter(CI)是一套给PHP网站开发者使用的应用程序开发框架和工具包. 初次接触,来一个HelloWorld~~~ ^_^ 准 ...
- ArrayList实现根据某属性大小相间排序
Java本身提供了一个集合的帮助类java.util.Collections,提供了对集合操作一些方法,借助于此类提供的sort方法可以实现对List进行排序操作 import java.util.A ...