You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按acquiYear创建多折线图:X轴month,Y轴nrOrders

按acquiYear分组的多折线图实现方案

数据预处理

首先你的nrOrders列是字符类型,需要转换为数值型;另外month是月份缩写,要按自然月份顺序定义因子级别,避免绘图时X轴顺序混乱:

# 加载所需包
library(ggplot2)
library(data.table)

# 将nrOrders转为数值型
dt[, nrOrders := as.numeric(nrOrders)]

# 定义月份的正确顺序
month_order <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", 
                 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
dt[, month := factor(month, levels = month_order, ordered = TRUE)]

绘制多折线图

使用ggplot2,以acquiYear作为分组和颜色区分维度,X轴对应month,Y轴对应nrOrders:

ggplot(dt, aes(x = month, y = nrOrders, group = acquiYear, color = acquiYear)) +
  geom_line(linewidth = 1) +
  geom_point(size = 2) + # 添加数据点提升可读性
  labs(
    x = "月份",
    y = "订单数量",
    color = "获取年份",
    title = "各获取年份的月度订单数量趋势"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5), # 标题居中
    axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1) # 倾斜X轴标签避免重叠
  )

替代处理方式(非data.table用户)

如果你的数据是普通data.frame,用dplyr预处理的代码如下:

library(dplyr)
dt <- dt %>%
  mutate(
    nrOrders = as.numeric(nrOrders),
    month = factor(month, levels = month_order, ordered = TRUE)
  )

内容的提问来源于stack exchange,提问作者Miko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 00:39:51