该内容已被发布者删除 该内容被自由微信恢复
文章于 4月2日 上午 4:20 被检测为删除。
查看原文
被用户删除
其他

R语言绘图 | ggplot2新版本优雅绘制渐变图

小陈的R语言笔记 小陈的R语言笔記 2024-04-02

欢迎关注小陈的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)  # 手动设置填充颜色为列表中定义的填充模式

欢迎加入交流群


继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存