我想创建一个时间序列图,显示两个变量如何随着时间的推移而变化,并给它们涂上适当的颜色?
我有2个地区,英格兰和威尔士,我计算了每个地区的总税收和总收入。
我想把这些数据绘制在一个时间序列图上。ggplot
年,使用年数变量。
我如何做到这一点,并分别为各地区着色?
我有一个年份变量,我将把它放在x轴上,然后我想绘制两个 incometax
和 taxpaid
在图上,但显示它们是如何随着时间的推移而变化的?
我如何添加第3个坐标轴以获得这两个变量随时间变化的情况?
我试过这段代码,但没有达到我想要的效果。
ggplot(tax_data, filter %>% aes(x=date)) +
geom_line(aes(y=incometax, color=region)) +
geom_line(aes(y=taxpaid, color=region))+
ggplot在开始的时候有点难以掌握--我猜你是想实现下面这样的东西。
假设你的数据格式是有一列日期,incometax和taxpaid 我在这里创建一个例子。
library(tidyverse)
dataset <- tibble(date = seq(from = as.Date("2015-01-01"), to = as.Date("2019-12-31"), by = "month"),
incometax = rnorm(60, 100, 10),
taxpaid = rnorm(60, 60, 5))
现在,为每个日期绘制一条线 incometax
和 taxpaid
我们需要塑造或 "整顿 "数据(详见):
dataset <- dataset %>% pivot_longer(cols = c(incometax, taxpaid))
现在你有了三个这样的列 -- 我们已经把以前的列名变成了变量。name
:
# A tibble: 6 x 3
date name value
<date> <chr> <dbl>
1 2015-01-01 incometax 106.
2 2015-01-01 taxpaid 56.9
3 2015-02-01 incometax 112.
4 2015-02-01 taxpaid 65.0
5 2015-03-01 incometax 95.8
6 2015-03-01 taxpaid 64.6
现在有了正确的格式 ggplot
而你可以映射出 name
到线条的颜色。
ggplot(dataset, aes(x = date, y = value, colour = name)) + geom_line()