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

ggplot2绘制多组趋势变化线图

作者头像
R语言数据分析指南
发布2023-08-18 13:43:57
3530
发布2023-08-18 13:43:57
举报
文章被收录于专栏:R语言数据分析指南

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

❝本节来介绍使用ggplot2绘制多组面积线图来展示趋势变化,下面小编就通过一个案例来进行展示,数据无实际意义仅作图形展示用,希望各位观众老爷能够喜欢。❞

加载R包

代码语言:javascript
复制
library(tidyverse)
library(patchwork)
library(janitor)
library(glue)
library(ggtext)

导入数据

代码语言:javascript
复制
prices <- read_csv('prices.txt')
companies <- read_csv('companies.txt')

数据整合

代码语言:javascript
复制
df_base <- map_dfr(unique(prices$stock_symbol), ~{
  # 对 prices 数据进行变换,添加 group 和 stock_symbol 列
  prices |>
    mutate(
      group = stock_symbol,    # 将 group 列设为 stock_symbol 的值
      stock_symbol = .x        # 将 stock_symbol 列设为当前迭代的值 .x
    )
}) |>
  # 使用 stock_symbol 列将 df_base 和 companies 进行左连接操作
  left_join(companies,by="stock_symbol")

数据可视化

代码语言:javascript
复制
df_base |>
  ggplot() +
  # 添加线图,使用 date 作为 x 轴,close 作为 y 轴,group 列用于区分不同的股票
  geom_line(aes(date, close, group = group),alpha = 0.5,size = 0.1,colour = "grey") +
  # 添加面积图,使用 date 作为 x 轴,close 作为 y 轴,stock_symbol 用于颜色和填充
  geom_area(aes(date, close, colour = stock_symbol, fill = stock_symbol),
            prices, alpha = 0.2, size = 0.5) +
  # 使用 stock_symbol 进行分面展示,每行显示4个
  facet_wrap(~stock_symbol, ncol = 4) +
  scale_colour_manual(values = pal) +
  scale_fill_manual(values = pal) +
  theme_test() +
  theme(
    text = element_text(size =, lineheight = 0.3, colour = "white"),
    plot.margin = margin(b = 8, t = 8, r = 8, l = 8),
    axis.text = element_text(size =9,color="black"),
    strip.text = element_text(size=10,face="bold"),
    strip.background = element_blank(),
    panel.spacing.x = unit(0.2,"cm"),
    legend.position = "none")
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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