如何在Geom_line中解决这个问题?

问题描述 投票:0回答:1

星期几 2月23日 3月23日 4月23日 5月23日 6月23日

周日 24575 48314 83366 84074 116821
星期一 32208 46043 78434 85285 122528
星期二 41347 56317 101060 76440 101694
星期三 25792 51056 61445 98910 94837
星期四 21852 46027 71823 83957 117189
星期五 38517 69504 75012 131155 104023
星期六 24284 24948 73140 84078 130631

我正在尝试用这些信息制作折线图,但我做不到。我想用一行中的每一天来代表每个月。

我尝试了多种方法,但我删除了之前的方法。最后一张是:

ggplot(trip_id, aes(y=day_of_week))+geom_line(aes(x=feb_23))+geom_line(aes(x=mar_23))+geom_line(aes(x=apr_23))

r charts line geom
1个回答
0
投票

首先

pivot
将数据转换为长格式,然后您可以在 y 轴上绘制每个月的值,通过
day_of_week
定义组。

library(tidyverse)

df %>%
  pivot_longer(-day_of_week,
               names_to = 'month') %>%
  ggplot(aes(x = month, y = value, color = day_of_week, group = day_of_week)) +
  geom_point() +
  geom_line()

数据

df <- read.table(header = TRUE, text = 
                   'day_of_week feb_23 mar_23 apr_23 may_23 jun_23

sunday 24575 48314 83366 84074 116821
monday 32208 46043 78434 85285 122528
tuesday 41347 56317 101060 76440 101694
wednesday 25792 51056 61445 98910 94837
thursday 21852 46027 71823 83957 117189
friday 38517 69504 75012 131155 104023
saturday 24284 24948 73140 84078 130631

'
                   )
© www.soinside.com 2019 - 2024. All rights reserved.