ggplot2带你绘制两种风格柱状图

2024-02-22 08:40:46 浏览数 (2)

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

❝本节来介绍一个基础图形柱状图的两种绘图方法,可绘制细节稍微不同的两种风格图,整个过程仅参考。希望对各位观众老爷能有所帮助。「数据代码已经整合上传到会员交流群」,购买过小编VIP的朋友可在所加的会员群内获取下载,有需要的朋友可关注文末介绍加入VIP交流群。 ❞

关于永久群内容的说明

❝给予长期支持我们的忠实读者们一个特别待遇:凡是购买过小编2022年或2023年VIP会员文档的朋友们,「将自动获得2024年及以后更新的绘图文档代码,无需额外付费。」目前这两年的会员文档已累记卖出1500 ,质量方面各位无需担忧。简要概括就是只要购买任意1年的会员内容,2024及后期公众号所更新的绘图文档均会在已经加入的会员群内分享。 ❞

加载R包

代码语言:javascript复制
library(tidyverse)
library(ggtext)
library(wesanderson)

导入数据

代码语言:javascript复制
df <- read_tsv("data.tsv")

案例1

代码语言:javascript复制
df %>%
  ggplot(aes(x = percent, y = fct_reorder(language, total_tweets,.desc = FALSE),fill = label)) 
  geom_bar(stat = "identity", position = "stack") 
  geom_text(aes(label = if_else(percent > 0.05, paste0(scales::percent(percent,accuracy = 0.1)), NA)), 
            position = position_fill(vjust = 0.5),size = 3, color = "#000000") 
  labs(x=NULL,y=NULL) 
  scale_x_continuous(expand = c(0,0)) 
  scale_fill_manual(values=wes_palette("GrandBudapest2",type="discrete")) 
  theme(legend.position = "none",
        plot.margin = unit(c(0.2,0.2,0.2,0.2), "cm"),
        plot.background = element_rect(color = NA, fill = "#F2F2F2"))

案例二

代码语言:javascript复制
df %>%
  ggplot(aes(x = percent, y = fct_reorder(language, total_tweets,.desc = FALSE),fill = label)) 
  geom_bar(stat = "identity", position = "stack",width=0.5) 
  geom_text(aes(label = paste(language), x = 0.5),nudge_y = 0.5,size = 3,color = "#000000")  
  geom_text(aes(label = if_else(percent > 0.05, paste0(scales::percent(percent, accuracy = 0.1)), NA)), 
            position = position_fill(vjust = 0.5),
            size = 3, color = "#000000") 
  scale_fill_manual(values=wes_palette("GrandBudapest2",type="discrete")) 
  theme_void()  
  theme(legend.position = "none",
        plot.margin = unit(c(0.2,0.2,0.2,0.2), "cm"),
        plot.background = element_rect(color = NA, fill = "#F2F2F2"))

❝通过细微的代码调整使两张图的展示风格略有不同,可在绘制同类图时添加一些区分度;本节介绍到此结束

0 人点赞