作者:吴健 中国科学院大学 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风格图表相关推荐

  1. r语言 index_基于R语言绘制BBC风格图表

    作者:吴健 中国科学院大学 R语言.统计学爱好者,尤其擅长R语言和Arcgis在生态领域的应用分享 个人公众号:统计与编程语言 近日在google上浏览一篇文章<BBC Visual and D ...

  2. r语言 断轴 画图_基于R语言绘制坐标轴截断图

    画图时经常遇到不同组的数据大小相差很大,大数据就会掩盖小数据的变化规律,这时候可以对Y轴进行截断,从而可以在不同层面(大数据和小数据层面)全面反映数据变化情况,如下图所示. 搜索截断图绘制的方法,有根 ...

  3. 如何用R语言绘制生成正态分布图表

    最近我们被客户要求撰写关于正态分布图表的研究报告,包括一些图形和统计输出. 在概率课程中经常会看到标准的正态分布表. 现在,我们用R语言生成它. 生成表格 > u=seq(0,3.09,by=0 ...

  4. R语言绘制火山图(volcano plot)实战:为差异表达基因(DEGs)添加颜色、基于显著性阈值进行点的颜色美化、为选定基因添加标签

    R语言绘制火山图(volcano plot)实战:为差异表达基因(DEGs)添加颜色.基于显著性阈值进行点的颜色美化.为选定基因添加标签 目录 R语言绘制火山图(volcano plot)实战 #导入 ...

  5. Protein Cell:基于R语言的微生物组数据挖掘最佳流程(大众评审截止14号晚6点)...

    Protein & Cell综述:基于R语言的微生物组数据挖掘的最佳流程 近日,中国农业科学院刘永鑫组联合南京农业大学袁军组在国际期刊 Protein & Cell (IF = 15. ...

  6. R语言绘制中国地图:着色省份、标注省份名称

    今天分享一个可以直接使用的中国地图,相较于其他R语言绘制的地图,有以下优点: 1.包含十段线 http://xzqh.mca.gov.cn/map 2.标注省份名称​ 缺点:南海岛礁未绘制小地图 重点 ...

  7. r语言绘制雷达图_用r绘制雷达蜘蛛图

    r语言绘制雷达图 I've tried several different types of NBA analytical articles within my readership who are ...

  8. R语言绘制环形树状图

    R语言绘制环形树状图 1.主要用到dendextend和circlize包绘图: library(dendextend) library(circlize)# 距离矩阵 d <- dist(US ...

  9. R语言绘制带聚类树的堆叠柱形图

    R语言绘制带聚类树的堆叠柱形图 聚类树与柱形图结合,即可反映样本或分组间的相似性,又能展示样本内的元素组成信息. 例如下图是一个在扩增子测序微生物群落分析中常见的统计图类型,在测序公司给的报告中通常都 ...

  10. r语言 线性回归 相关系数_基于R语言的lmer混合线性回归模型

    原文 基于R语言的lmer混合线性回归模型​tecdat.cn 混合模型适合需求吗? 混合模型在很多方面与线性模型相似.它估计一个或多个解释变量对响应变量的影响.混合模型的输出将给出一个解释值列表,其 ...

最新文章

  1. grep 的特殊使用
  2. ISA2006标准版,本地主机不能上网问题的解决一例
  3. Android音频焦点申请处理
  4. HDU 5119 Happy Matt Friends(DP || 高斯消元)
  5. 直方图中最大的矩形(遍历与单调栈)
  6. 加强版[BZOJ#3483] SGU505 Prefixes and suffixes(询问在线版)
  7. cd短是什么意思_每日命令|pwd、cd
  8. vs未指定启动文件_高效开发利器之自定义模板文件
  9. 子元素浮动,父元素高度为0现象解释和原理浅见
  10. 《TensorFlow 2.0深度学习算法实战教材》学习笔记(五、神经网络)
  11. 如何使用Python3连接MySQL
  12. noip2017提高组初赛c语言,NOIP2017提高组比赛体验篇一(干货)
  13. lda新闻主题提取_LDA主题模型 | 原理详解与代码实战
  14. css 实现三个 div 等分排在一行
  15. 常用的薪酬管理系统有哪些,薪酬管理需要具备哪些功能?
  16. 大数据告诉你:逃离北上广的人最后都去了哪里?
  17. Ubuntu 关闭 onboard (屏幕键盘应用)开机自启
  18. 本地系统盘放到服务器上,怎么把本地盘挂到云服务器
  19. MySQL实战演练——如何才能构建逾期用户画像?【数据可视化】
  20. 2018年上海人工智能大会(SHAI2018)即将在上海举行

热门文章

  1. win10 默认程序 edge
  2. 这首歌,竟然是AI生成的,太狠了...
  3. 推荐两款Docker可视化工具
  4. 关于Spring,所有的都在这了,具有收藏价值
  5. 一名7年总监的6点离职忠告
  6. Anroid性能优化系列——Improving Layout Performance(一)
  7. 理解HTTP 代理,负载均衡,缓冲(Buffering)和缓存(Caching)
  8. 寒心!一个开发者就这样离开了!
  9. 单身狗应该怎么过七夕节?
  10. 利用计算机系统辅助设计人员,计算机基础知识:计算机辅助设计