- ggplot2 教程
- ggplot2 - 首页
- ggplot2 - 简介
- ggplot2 - R的安装
- ggplot2 - R中的默认绘图
- ggplot2 - 使用坐标轴
- ggplot2 - 使用图例
- ggplot2 - 散点图和抖动图
- ggplot2 - 条形图和直方图
- ggplot2 - 饼图
- ggplot2 - 边缘图
- ggplot2 - 气泡图和计数图
- ggplot2 - 差异图
- ggplot2 - 主题
- ggplot2 - 多面板图
- ggplot2 - 多个图
- ggplot2 - 背景颜色
- ggplot2 - 时间序列
- ggplot2 有用资源
- ggplot2 - 快速指南
- ggplot2 - 有用资源
- ggplot2 - 讨论
ggplot2 - 时间序列
时间序列是图形化地表示按特定时间顺序排列的一系列数据点的图。时间序列是在连续等间距的时间点上获取的一系列数据。时间序列可以被认为是离散时间数据。我们将在本章中使用的数据集是“economics”数据集,其中包括美国经济时间序列的所有详细信息。
数据框包含以下属性:
| 日期 | 数据收集月份 |
| Psavert | 个人储蓄率 |
| Pce | 个人消费支出 |
| Unemploy | 失业人数(千人) |
| Unempmed | 失业持续时间中位数 |
| Pop | 总人口(千人) |
加载所需的包并将默认主题设置为创建时间序列。
> library(ggplot2) > theme_set(theme_minimal()) > # Demo dataset > head(economics) # A tibble: 6 x 6 date pce pop psavert uempmed unemploy <date> <dbl> <dbl> <dbl> <dbl> <dbl> 1 1967-07-01 507. 198712 12.6 4.5 2944 2 1967-08-01 510. 198911 12.6 4.7 2945 3 1967-09-01 516. 199113 11.9 4.6 2958 4 1967-10-01 512. 199311 12.9 4.9 3143 5 1967-11-01 517. 199498 12.8 4.7 3066 6 1967-12-01 525. 199657 11.8 4.8 3018
创建一个基本的折线图,该图创建一个时间序列结构。
> # Basic line plot > ggplot(data = economics, aes(x = date, y = pop))+ + geom_line(color = "#00AFBB", size = 2)
我们可以使用以下命令绘制数据集的子集:
> # Plot a subset of the data
> ss <- subset(economics, date > as.Date("2006-1-1"))
> ggplot(data = ss, aes(x = date, y = pop)) +
+ geom_line(color = "#FC4E07", size = 2)
创建时间序列
在这里,我们将根据日期绘制变量 psavert 和 uempmed。这里我们必须使用 tidyr 包重塑数据。这可以通过将 psavert 和 uempmed 值合并到同一列(新列)中来实现。R 函数:gather()[tidyr]。下一步包括创建一个具有 levels = psavert 和 uempmed 的分组变量。
> library(tidyr) > library(dplyr) Attaching package: ‘dplyr’ The following object is masked from ‘package:ggplot2’: vars The following objects are masked from ‘package:stats’: filter, lag The following objects are masked from ‘package:base’: intersect, setdiff, setequal, union > df <- economics %>% + select(date, psavert, uempmed) %>% + gather(key = "variable", value = "value", -date) > head(df, 3) # A tibble: 3 x 3 date variable value <date> <chr> <dbl> 1 1967-07-01 psavert 12.6 2 1967-08-01 psavert 12.6 3 1967-09-01 psavert 11.9
使用以下命令创建多条折线图,以查看“psavert”和“unempmed”之间的关系:
> ggplot(df, aes(x = date, y = value)) +
+ geom_line(aes(color = variable), size = 1) +
+ scale_color_manual(values = c("#00AFBB", "#E7B800")) +
+ theme_minimal()
广告