r包调用legend函数_如何通过R语言制作BBC风格的精美图片

博客地址:https://www.jianshu.com/u/619b87e54936

目录

R语言之可视化①误差棒

R语言之可视化②点图

R语言之可视化③点图续

R语言之可视化④点韦恩图upsetR

R语言之可视化⑤R图形系统

R语言之可视化⑥R图形系统续

R语言之可视化⑦easyGgplot2散点图

R语言之可视化⑧easyGgplot2散点图续

R语言之可视化⑨火山图

R语言之可视化⑩坐标系统

R语言之可视化①①热图绘制heatmap

R语言之可视化①②热图绘制2

R语言之可视化①③散点图+拟合曲线

R语言之可视化①④一页多图(1)

R语言之可视化①⑤ROC曲线

R语言之可视化①⑥一页多图(2)

R语言之可视化①⑦调色板

R语言之可视化①⑧子图组合patchwork包

R语言之可视化①⑨之ggplot2中的图例修改

R语言之可视化(20)之geom_label()和geom_text()

R语言之可视化(21)令人眼前一亮的颜色包

R语言之可视化(22)绘制堆积条形图

R语言之可视化(23)高亮某一元素

R语言之可视化(24)生成带P值得箱线图

R语言之可视化(25)绘制相关图(ggcorr包)

R语言之可视化(26)ggplot2绘制饼图

在BBC数据团队开发了一个R包,以ggplot2内部风格创建可发布出版物的图形,并且使新手更容易到R创建图形。例如:

f96b81f0cd7fbb94e39b589404bbdf51.png

加载所有所需的R语言包

通常在R中创建图表需要安装和加载某些软件包。 为了不必一一安装和加载它们,可以使用pacman软件包中的``p_load''函数通过以下代码一次加载它们。

#This line of code installs the pacman page if you do not have it installed - if you do, it simply loads the package
if(!require(pacman))install.packages("pacman")

pacman::p_load('dplyr', 'tidyr', 'gapminder',
               'ggplot2',  'ggalt',
               'forcats', 'R.utils', 'png', 
               'grid', 'ggpubr', 'scales',
               'bbplot')

创建 bbplot 包

bbplot 没有在CRAN上, 所以你必须通过 devtools来安装

# install.packages('devtools')
devtools::install_github('bbc/bbplot')

bbplot包介绍

共计两个函数bbc_style() and finalise_plot()bbc_style()没有参数,并且在创建绘图后将其添加到ggplot“链”中。 它所做的通常是将文本大小,字体和颜色,轴线,轴线文本,边距和许多其他标准图表组件转换为BBC样式,这是根据设计团队的建议和反馈制定的。请注意,对于折线图而言,折线的颜色或对于条形图而言是条形的颜色,并不是从bbc_style()函数中直接获得的,而是需要在其他标准ggplot图表函数中明确设置 。以下代码显示了在标准图表制作工作流程中应如何使用bbc_style()。 这是一个非常简单的折线图的示例,使用了来自gapminder包的数据。

#Data for chart from gapminder package
line_df <- gapminder %>%
  filter(country == "Malawi") 

#Make plot
line <- ggplot(line_df, aes(x = year, y = lifeExp)) +
  geom_line(colour = "#1380A1", size = 1) +
  geom_hline(yintercept = 0, size = 1, colour="#333333") +
  bbc_style() +
  labs(title="Living longer",
       subtitle = "Life expectancy in Malawi 1952-2007")

7e821d74555acde0821a87c99264afab.png


image.png

这就是bbc_style()函数实际上是在做什么。 它本质上修改了ggplot2的主题功能中的某些参数。例如,第一个参数是设置绘图标题元素的字体,大小,字体和颜色。

## function () 
## {
##     font <- "Helvetica"
##     ggplot2::theme(plot.title = ggplot2::element_text(family = font, 
##         size = 28, face = "bold", color = "#222222"), plot.subtitle = ggplot2::element_text(family = font, 
##         size = 22, margin = ggplot2::margin(9, 0, 9, 0)), plot.caption = ggplot2::element_blank(), 
##         legend.position = "top", legend.text.align = 0, legend.background = ggplot2::element_blank(), 
##         legend.title = ggplot2::element_blank(), legend.key = ggplot2::element_blank(), 
##         legend.text = ggplot2::element_text(family = font, size = 18, 
##             color = "#222222"), axis.title = ggplot2::element_blank(), 
##         axis.text = ggplot2::element_text(family = font, size = 18, 
##             color = "#222222"), axis.text.x = ggplot2::element_text(margin = ggplot2::margin(5, 
##             b = 10)), axis.ticks = ggplot2::element_blank(), 
##         axis.line = ggplot2::element_blank(), panel.grid.minor = ggplot2::element_blank(), 
##         panel.grid.major.y = ggplot2::element_line(color = "#cbcbcb"), 
##         panel.grid.major.x = ggplot2::element_blank(), panel.background = ggplot2::element_blank(), 
##         strip.background = ggplot2::element_rect(fill = "white"), 
##         strip.text = ggplot2::element_text(size = 22, hjust = 0))
## }
## <environment: namespace:bbplot>

可以使用所需的参数调用主题功能来修改图表的这些设置或添加其他主题参数。但请注意,要使其正常工作,必须是在bbc_style()后, 否则bbc_style()将覆盖它。

theme(panel.grid.major.x = element_line(color="#cbcbcb"), 
        panel.grid.major.y=element_blank())

保存完成的图表

bbplot软件包的第二个功能finalise_plot()将使标题和副标题左对齐,并在图的右下角添加带有源和图像的页脚。它还会将其保存到指定的位置。该函数有五个参数:

finalise_plot(plot_name, source, save_filepath, width_pixels = 640, height_pixels = 450)

plot_name:绘图的变量名称,例如上面的图表示例,plot_name将为“ line”。source:要显示在绘图左下角的源文本。save_filepath:图形保存到的精确文件路径,包括末尾的.png扩展名。这确实取决于工作目录以及您是否在特定的R项目中。示例文件路径为:``Desktop / R_projects / charts / line_chart.png''。width_pixels:默认情况下设置为640px,因此仅当希望图表具有不同的宽度并指定其宽度时才调用此参数。height_pixels:默认设置为450px,因此仅当希望图表具有不同的高度并指定其高度时才调用此参数。logo_image_path:此参数指定图右下角的图像/徽标路径。默认值为占位符PNG文件,其背景与绘图的背景颜色匹配。

finalise_plot(plot_name = my_line_plot,
              source = "Source: Gapminder",
              save_filepath = "filename_that_my_plot_should_be_saved_to.png",
              width_pixels = 640,
              height_pixels = 450,
              logo_image_path = "placeholder.png")

因此,一旦创建了绘图并对其比较满意,就可以使用finalise_plot()函数进行最终调整并保存图表,以便可以在RStudio之外查看它。因为文本和其他元素的位置在RStudio的“plot”面板中无法准确呈现(这取决于显示绘图的大小和纵横比), 因此将其保存并打开文件可以准确地表示图形的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值