本期开始继续基础图表(柱形图/条形图(bar charts))的绘制推文教程,但在系列绘制之前,我们先介绍下个人较喜欢的一个绘图R包-ggchicklet包,用于绘制带圆角角度的柱形图(Rounded Segmented Column)。主要涉及的知识点如下:
- ggchicklet 包简介
- ggchicklet 实例绘制
ggchicklet 包简介
ggchicklet包具体的绘图函数主要介绍geom_chicklet() 绘图函数,其语法和ggplot2的geom_col()类似,但其提供了radius属性,用于设置圆角角度,其主要语法如下:
代码语言:javascript复制geom_chicklet(
mapping = NULL,
data = NULL,
position = ggplot2::position_stack(reverse = TRUE),
radius = grid::unit(3, "pt"),
...,
width = NULL,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE
)
更多详细内容可前往官网:ggchicklet包官网 下面我们通过具体例子对比geom_col()和geom_chicklet()的绘图效果(当眼也是有美化的哦)
ggchicklet 实例绘制
geom_col()可视化绘制
首先,我们简单的构造虚拟数据,代码如下:
代码语言:javascript复制test_data <- data.frame(
Class = c("class01", "class02", "class03", "class04", "class05", "class06"),
Data = c(2,4,5,7,9,13)
)
test_data
数据如下:
接下来,我们使用ggplot2 对其可视化展示(默认设置):
代码语言:javascript复制bar_chart <- ggplot(data = test_data)
geom_col(aes(x=Class,y=Data,fill=Class))
bar_chart
可以看出这种默认的颜色、主题风格在图表颜值提升上还有很大的空间,接下来我们就结合hrbrthemes主题包、RColorBrewer颜色主题包进行“美化”设置。具体代码如下:
代码语言:javascript复制library(RColorBrewer)
library(hrbrthemes)
library(ggtext)
bar_chart <- ggplot(data = test_data)
geom_col(aes(x=Class,y=Data,fill=Class))
scale_fill_manual(values = c(brewer.pal(6,"Paired")))
guides(
fill = guide_legend(nrow = 1,title = "")
)
labs(x = "Class",
y = "Data",
title = "Base Charts in R Exercise 01: <span style='color:#D20F26'>Bar Charts</span>",
subtitle = "processed bar charts",
caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>")
theme_ipsum(base_family = "Arial_Narrow")
theme(
plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",
size = 22, margin = margin(t = 1, b = 12)),
plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
plot.caption = element_markdown(face = 'bold',size = 12),
legend.position = "top",
legend.direction = "horizontal",
legend.key.width = unit(1.5, "lines"),
legend.key.height = unit(1, "lines"),
legend.text = element_text(size = 8, color = "grey20"))
可视化效果如下:
这里:
代码语言:javascript复制 scale_fill_manual(values = c(brewer.pal(6,"Paired")))
是使用了RColorBrewer颜色主题包的方法,我后面会抽时间专门出几期关于颜色设置的推文啊。
当然,你也可以设置“暗黑主题”,只需添加如下语句:
代码语言:javascript复制
theme_ft_rc()
可视化结果如下:
geom_chicklet()可视化绘制
该部分只需将上面代码中的geom_col()中的部分更换如下即可:
代码语言:javascript复制geom_chicklet(aes(x=Class,y=Data,fill=Class),
width=.6,
radius = grid::unit(15, "pt"))
最终可视化效果如下:
“暗黑主题”的风格结果如下:
总结
本期推文算是基础柱形图之前的“前菜”-ggchicklet包的介绍及实例展示,这个包也是我比较喜欢的R可视化包之一了,当然 hrbrthemes包也需要灵活掌握哦,可以帮你快速制成“高大上”可视化图表作品。