大数跨境
0
0

ggplot2自定义各类文本颜色

ggplot2自定义各类文本颜色 R语言数据分析指南
2024-02-19
2

欢迎关注R语言数据分析指南

本节来介绍一个修改文本颜色的绘图案例,在实际数据分析的过程中某些情况下我们需要为轴文本和图例文本来添加不同的颜色,但是由于在ggplot2中无默认的参数来实现这一功能,在此小编使用另一种巧妙的方法来实现这一需求,整个过程仅参考。希望对各位观众老爷能有所帮助。「数据代码已经整合上传到会员交流群」,购买过小编VIP的朋友可在所加的会员群内获取下载,有需要的朋友可阅读下方介绍加入VIP交流群。

关于永久群内容的说明

给予长期支持我们的忠实读者们一个特别待遇:购买小编2023年VIP会员文档的读者,「将自动获得2024年及以后更新的绘图文档代码,无需额外付费目前已包含100+学习案例。」有需要学习数据可视化的朋友,欢迎到小编的「淘宝店铺」 「R语言数据分析指南」下单购买,内容主要包括各种「高分论文的图表分析复现以及一些个性化图表的绘制」均包含数据+代码。购买会员文档后微信发小编订单号即邀请进新的会员交流群

「2024更新的绘图内容同时包含数据+代码+markdown注释文档+文档清单」

library(tidyverse)
library(readxl) 
# devtools::install_github("doehm/ggbrick")  # 从GitHub安装ggbrick包,用于绘制砖块图
library(ggbrick) 
library(scales)
library(ggsci)  
library(ggtext) 
df <- read_excel("Source Data Figure 3.xlsx", sheet = 3)  # 从Excel文件读取数据,指定第3个工作表
# 对数据进行预处理,包括更改Cluster列的值和调整summit列的数值范围
dff <- df %>% mutate(Cluster = str_replace_all(Cluster, c("Cluster" = "C")),
                     summit = summit / 10000000)
# 将Cluster列转换为因子,并指定其水平(顺序)
dff$Cluster <- factor(dff$Cluster, levels = rev(c("C1""C2""C3""C4""C5",
                                                  "C6""C7""C8""C9""C10""C11""C12")))
# 为不同的Cluster生成颜色映射
col_mapping <- dff %>% select(Cluster) %>% distinct() %>% 
  mutate(col = rev(pal_simpsons("springfield")(12))) %>% 
  deframe()
color <- c("#788FCE""#E6956F""#A6BA96")  # 定义颜色向量
# 使用ggplot绘制砖块图
dff %>%
  ggplot(aes(Cluster, summit)) +   
  geom_brick(aes(Cluster, summit, fill = Type), colour = NA, size = 0.2)  +
  scale_y_continuous(labels = label_number(), position = "right", expand = c(00)) +
  scale_x_discrete(expand = c(00)) +
  labs(y = "Number of OCRs", x = NULL, fill = NULL) +
  coord_flip() +
  theme_classic() +
  theme(axis.text.x = element_text(color = "black", size = 8, face = "bold"),
        axis.text.y = element_text(color = col_mapping, size = 8, face = "bold"),
        plot.background = element_rect(fill = "white", colour = "white"),  # 设置图表背景为白色
        plot.margin = margin(b = 5, t = 5, r = 5, l = 5),  # 设置图表的边距
        legend.text = element_markdown(size = 8, face = "bold"),
        legend.background = element_blank(),
        legend.key.height = unit(0.5"cm"),
        legend.key.width = unit(0.5"cm"),
        legend.position = c(0.40.1))  # 设置图例位置

可以看到Y轴文本根据不同的Cluster生成了不同的颜色,同时图例文本颜色也与图例色块保持了一致,强迫症可以得到满足了。本节介绍到此结束,更多精彩内容持续更新中。

淘宝扫一扫

淘宝店铺(有需要欢迎关注)

关注下方公众号下回更新不迷路

【声明】内容源于网络
0
0
R语言数据分析指南
R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
内容 1180
粉丝 0
R语言数据分析指南 R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
总阅读410
粉丝0
内容1.2k