前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggplot2优雅绘制多彩折线图

ggplot2优雅绘制多彩折线图

作者头像
R语言数据分析指南
发布2023-08-18 13:49:46
2100
发布2023-08-18 13:49:46
举报

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

❝本节来介绍使用ggplot2来通过添加背景色的方式来展示数据,主要使用「ggforce包」来绘制圆圈「ggrect函数」来绘制背景。下面小编就通过一个案例来进行展示数据为随意构建无实际意义仅作图形展示用,希望各位观众老爷能够喜欢。 ❞

加载R包

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

导入数据

代码语言:javascript
复制
df <- read_tsv("data.xls") %>%
  select(1, 8:15) %>%
  mutate(
    Year2 = -90 + 180 * (Year - 1880) / (2022 - 1880),
    across(2:9, ~ .x * 25) # 对第2到第9列的数据乘以25
  )

定义调色板

代码语言:javascript
复制
COLORS_ZON <- c("#797d62","#9b9b7a","#d9ae94","#E5C59E","#f1dca7","#ffcb69","#d08c60",
                "#B58463")

数据可视化

代码语言:javascript
复制
ggplot(df) +
  geom_rect(aes(xmin = -Inf, xmax = Inf, ymin = 64, ymax =Inf), fill = COLORS_ZON[8]) +
  geom_rect(aes(xmin = -Inf, xmax = Inf, ymin = 44, ymax =64), fill = COLORS_ZON[7]) +
  geom_rect(aes(xmin = -Inf, xmax = Inf, ymin = 24, ymax =44), fill = COLORS_ZON[6]) +
  geom_rect(aes(xmin = -Inf, xmax = Inf, ymin = 0, ymax = 24), fill = COLORS_ZON[5]) +
  geom_rect(aes(xmin = -Inf, xmax = Inf, ymin = -24, ymax = 0), fill = COLORS_ZON[4]) +
  geom_rect(aes(xmin = -Inf, xmax = Inf, ymin = -44, ymax = -24), fill = COLORS_ZON[3]) +
  geom_rect(aes(xmin = -Inf, xmax = Inf, ymin = -64, ymax = -44), fill = COLORS_ZON[2]) +
  geom_rect(aes(xmin = -Inf, xmax = Inf, ymin = -Inf, ymax=-64), fill = COLORS_ZON[1]) +
  geom_circle(aes(x0=0, y0=0, r=90), col=NA, fill="grey0", alpha=.5, size=1) +
  geom_segment(aes(x=-90, xend=90, y=0, yend=0), col="seashell1", size=.1) +
  geom_line(aes(x=Year2, y=`64N-90N`), col=COLORS_ZON[8]) +
  geom_line(aes(x=Year2, y=`44N-64N`), col=COLORS_ZON[7]) +
  geom_line(aes(x=Year2, y=`24N-44N`), col=COLORS_ZON[6]) +
  geom_line(aes(x=Year2, y=`EQU-24N`), col=COLORS_ZON[5]) +
  geom_line(aes(x=Year2, y=`24S-EQU`), col=COLORS_ZON[4]) +
  geom_line(aes(x=Year2, y=`44S-24S`), col=COLORS_ZON[3]) +
  geom_line(aes(x=Year2, y=`64S-44S`), col=COLORS_ZON[2]) +
  geom_line(aes(x=Year2, y=`90S-64S`), col=COLORS_ZON[1]) +
  scale_y_continuous(limits=c(-100,100)) +
  scale_x_continuous(limits=c(-100*16/9,100*16/9)) +
  coord_fixed() +
  theme_void()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 欢迎关注R语言数据分析指南
  • 加载R包
  • 导入数据
  • 定义调色板
  • 数据可视化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档