基于R语言绘制BBC风格图表
作者:吴健 中国科学院大学 R语言、统计学爱好者,尤其擅长R语言和Arcgis在生态领域的应用分享
个人公众号:统计与编程语言
近日在google上浏览一篇文章《BBC Visual and Data Journalism cookbook for R graphics》,初看很简单,只需要安装bbplot包,然后该包只包含bbc_style()和finalise_plot()两个函数,但是在实际操作时,也遇到一些困难,接下来,把我操作该包遇到的困难和大家分享交流一下。
包的安装
该文章中包的安装摒弃传统方式,取而代之使用了pacman包中的p_load函数安装R语言所需的包,该函数的优点是可以一次性加载多个包,同时可识别未安装的包,并自动安装加载。但我安装pacman包时,提示我的R版本较低,虽然我升级到最新R版本,但同样没有安装完成,可能原因是我电脑里默认路径中含有中文,所以安装过程产生一些问题,我从pacman包的网站
https://cran.r-project.org/web/packages/pacman/index.html
下载该包压缩文件(如下图),通过R语言中安装包-从本地文件加载成功安装了pacman包,在安装本文所需的其它包时,遇到类似问题也通过上述方法解决。
PS:大家在安装R语言包遇到困难时,也可以尝试采取上述方法。
字体问题
在显示BBC风格图片时,虽然可以正常显示,但是警告信息显示“Windows字体数据库里没有这样的字体系列”,分析是我的windows电脑里没有安装BBC所需格式的字体,但是我通过查看bbc_style函数的代码,发现bbc_style函数使用的字体是"Helvetica",我给我自己电脑安装了"Helvetica"字体,但是依然没有解决问题,如果大家解决了,希望留言告知。
下面我介绍一下bbplot包中的bbc_style()和finalise_plot()两个函数。
bbc_style()函数的使用
1multiple_line <- ggplot(multiple_line_df, aes(x = year, y = lifeExp, colour = country)) +2 geom_line(size = 1) +3 geom_hline(yintercept = 0, size = 1, colour="#333333") +4 scale_colour_manual(values = c("#FAAB18", "#1380A1")) +5 bbc_style() +6 labs(title="Living longer",7 subtitle = "Life expectancy in China and the US")8
可以看出bbc_style函数使用非常简单不需要任何参数,只需要把它作为一个默认ggplot2绘图主题使用即可,从bbc_style函数原代码也可以看出,bbc_style只是一个封装了默认主题的函数。
finalise_plot()函数的使用
1line <- ggplot(line_df, aes(x = year, y = lifeExp)) +2 geom_line(colour = "#1380A1", size = 1) +3 geom_hline(yintercept = 0, size = 1, colour="#333333") +4 bbc_style() +5 labs(title="Living longer",6 subtitle = "Life expectancy in Malawi 1952-2007")78finalise_plot(plot_name, source, save_filepath, width_pixels = 640, height_pixels = 450)9
plot_name参数:要把代码中哪个图片保存输出,如上例中的line。
source参数:BBC格式图表注记。
save_filepath参数:输出图片路径。
width_pixels参数:输出宽度。
height_pixels参数:输出高度。
——————————————
往期精彩:
19 岁少年找 Bug 赚了 100 万美元
你不理解苏大强的作,AI 能吗?
数据揭秘,在中国谁拥有私人飞机
R语言中文社区2018年终文章整理(作者篇)
R语言中文社区2018年终文章整理(类型篇)
基于R语言绘制BBC风格图表相关推荐
- r语言 index_基于R语言绘制BBC风格图表
作者:吴健 中国科学院大学 R语言.统计学爱好者,尤其擅长R语言和Arcgis在生态领域的应用分享 个人公众号:统计与编程语言 近日在google上浏览一篇文章<BBC Visual and D ...
- r语言 断轴 画图_基于R语言绘制坐标轴截断图
画图时经常遇到不同组的数据大小相差很大,大数据就会掩盖小数据的变化规律,这时候可以对Y轴进行截断,从而可以在不同层面(大数据和小数据层面)全面反映数据变化情况,如下图所示. 搜索截断图绘制的方法,有根 ...
- 如何用R语言绘制生成正态分布图表
最近我们被客户要求撰写关于正态分布图表的研究报告,包括一些图形和统计输出. 在概率课程中经常会看到标准的正态分布表. 现在,我们用R语言生成它. 生成表格 > u=seq(0,3.09,by=0 ...
- R语言绘制火山图(volcano plot)实战:为差异表达基因(DEGs)添加颜色、基于显著性阈值进行点的颜色美化、为选定基因添加标签
R语言绘制火山图(volcano plot)实战:为差异表达基因(DEGs)添加颜色.基于显著性阈值进行点的颜色美化.为选定基因添加标签 目录 R语言绘制火山图(volcano plot)实战 #导入 ...
- Protein Cell:基于R语言的微生物组数据挖掘最佳流程(大众评审截止14号晚6点)...
Protein & Cell综述:基于R语言的微生物组数据挖掘的最佳流程 近日,中国农业科学院刘永鑫组联合南京农业大学袁军组在国际期刊 Protein & Cell (IF = 15. ...
- R语言绘制中国地图:着色省份、标注省份名称
今天分享一个可以直接使用的中国地图,相较于其他R语言绘制的地图,有以下优点: 1.包含十段线 http://xzqh.mca.gov.cn/map 2.标注省份名称 缺点:南海岛礁未绘制小地图 重点 ...
- r语言绘制雷达图_用r绘制雷达蜘蛛图
r语言绘制雷达图 I've tried several different types of NBA analytical articles within my readership who are ...
- R语言绘制环形树状图
R语言绘制环形树状图 1.主要用到dendextend和circlize包绘图: library(dendextend) library(circlize)# 距离矩阵 d <- dist(US ...
- R语言绘制带聚类树的堆叠柱形图
R语言绘制带聚类树的堆叠柱形图 聚类树与柱形图结合,即可反映样本或分组间的相似性,又能展示样本内的元素组成信息. 例如下图是一个在扩增子测序微生物群落分析中常见的统计图类型,在测序公司给的报告中通常都 ...
- r语言 线性回归 相关系数_基于R语言的lmer混合线性回归模型
原文 基于R语言的lmer混合线性回归模型tecdat.cn 混合模型适合需求吗? 混合模型在很多方面与线性模型相似.它估计一个或多个解释变量对响应变量的影响.混合模型的输出将给出一个解释值列表,其 ...
最新文章
- grep 的特殊使用
- ISA2006标准版,本地主机不能上网问题的解决一例
- Android音频焦点申请处理
- HDU 5119 Happy Matt Friends(DP || 高斯消元)
- 直方图中最大的矩形(遍历与单调栈)
- 加强版[BZOJ#3483] SGU505 Prefixes and suffixes(询问在线版)
- cd短是什么意思_每日命令|pwd、cd
- vs未指定启动文件_高效开发利器之自定义模板文件
- 子元素浮动,父元素高度为0现象解释和原理浅见
- 《TensorFlow 2.0深度学习算法实战教材》学习笔记(五、神经网络)
- 如何使用Python3连接MySQL
- noip2017提高组初赛c语言,NOIP2017提高组比赛体验篇一(干货)
- lda新闻主题提取_LDA主题模型 | 原理详解与代码实战
- css 实现三个 div 等分排在一行
- 常用的薪酬管理系统有哪些,薪酬管理需要具备哪些功能?
- 大数据告诉你:逃离北上广的人最后都去了哪里?
- Ubuntu 关闭 onboard (屏幕键盘应用)开机自启
- 本地系统盘放到服务器上,怎么把本地盘挂到云服务器
- MySQL实战演练——如何才能构建逾期用户画像?【数据可视化】
- 2018年上海人工智能大会(SHAI2018)即将在上海举行