【发布时间】:2020-02-20 01:30:58
【问题描述】:
我希望以数周为基础减少数年的数据。我正在寻找最近一年(2020 年)作为酒吧聊天,而前几年(2019 年和 2018 年)是线图。
我当前的代码产生下面的视觉效果
data %>%
ggplot(aes(week, result, fill = year)) +
geom_col()
如果我想将所有年份制作成条形图,我知道我可以在 geom_col 中使用“dodge”。但是,我正在尝试将数据拆分为不同的几何图形
当我使用子集函数(下面的代码)时,我的图表发生了一些奇怪的事情,我无法弄清楚发生了什么
data %>%
ggplot(aes(week, result, fill = year)) +
geom_col(data = subset(data, year == 2020)) +
geom_line(data = subset(data, year != 2020))
以下是我正在使用的数据示例。关于我做错了什么有什么想法吗?
structure(list(year = c("2018", "2018", "2019", "2019", "2020",
"2020"), week = c(1L, 2L, 1L, 2L, 1L, 2L), result = c(6.88475831020016,
7.62267452779933, 3.67553313593328, 6.18354398162893, 2.38101968527051,
5.9596355812872)), .Names = c("year", "week", "result"), row.names = c(NA,
-6L), class = c("tbl_df", "tbl", "data.frame"))
【问题讨论】:
-
嗨 mf17,欢迎来到 SO !与其发布数据图像,不如通过以下链接提供可重现的数据集示例:stackoverflow.com/questions/5963269/…。它使试图帮助您的人更轻松
-
数据中的年份是字符,但您是基于与数字的比较进行子集化