该内容已被发布者删除 该内容被自由微信恢复。
文章于 4月2日 上午 4:20 被检测为删除。
被用户删除
其他
R语言绘图 | ggplot2新版本优雅绘制渐变图
欢迎关注小陈的R语言笔记
❝介绍一下ggplot2 3.5版新更新的内容之绘制渐变图,使用的代码非常的简洁,更多内容请参考官方文档。
官方文档
❝https://www.tidyverse.org/blog/
#安装最新版ggplot2包
install.packages("ggplo2")
#加载R包
library(ggplot2)
library(patchwork)
library(grid)
设置渐变背景
# 创建一个灰度渐变的线性渐变对象
gray_gradient <- linearGradient(scales::pal_grey()(10))
# 使用ggplot绘制mpg数据集中displ和hwy两列的散点图
ggplot(mpg, aes(displ, hwy)) +
geom_point() + # 添加散点
theme(panel.background = element_rect(fill = gray_gradient)) # 设置面板背景为灰度渐变
设置渐变矩形
# 使用viridis颜色调色板生成10种颜色
colours <- scales::viridis_pal()(10)
# 创建一个非分组的线性渐变对象
grad_ungroup <- linearGradient(colours, group = FALSE)
# 创建一个分组的线性渐变对象
grad_grouped <- linearGradient(colours, group = TRUE)
# 创建一个非分组的柱状图,填充颜色为非分组的线性渐变对象
ungroup <- ggplot(mpg, aes(factor(cyl))) +
geom_bar(fill = grad_ungroup) +
labs(title = "Ungrouped gradient")
# 创建一个分组的柱状图,填充颜色为分组的线性渐变对象
grouped <- ggplot(mpg, aes(factor(cyl))) +
geom_bar(fill = grad_grouped) +
labs(title = "Grouped gradient")
# 将两个图表并排显示
ungroup | grouped
分列表映射
# 创建一个包含不同填充模式的列表
patterns <- list(
linearGradient(colours, group = FALSE), # 线性渐变
"limegreen", # 固定颜色
radialGradient(colours, group = FALSE), # 径向渐变
pattern( # 图案填充
rectGrob(x = c(0.25, 0.75), y = c(0.25, 0.75), width = 0.5, height = 0.5),
width = unit(5, "mm"), height = unit(5, "mm"), extend = "repeat",
gp = gpar(fill = "limegreen")
)
)
# 创建一个柱状图,填充颜色根据cyl的因子变量,使用手动填充颜色的方式
ggplot(mpg, aes(factor(cyl), fill = factor(cyl))) +
geom_bar() +
scale_fill_manual(values = patterns) # 手动设置填充颜色为列表中定义的填充模式