R中带有ggplot2的多线图或时间序列图
在本文中,我们将讨论如何使用 R 编程语言中的 ggplot2 包绘制多线图或时间序列图。我们可以使用 ggplot2 包的 geom_line()函数创建线图。
Syntax:
ggplot( df, aes( x, y ) ) + geom_line()
where,
- df: determines the dataframe used
- x and y: determines the axis variables
例子:
这是使用 ggplot2 包的 geom_line()函数制作的基本线图。这里使用的数据集是 1975 年到 2015 年的城市犯罪数据集,可以从 ucr_crime 下载。
R
# load package tidyverse
library(tidyverse)
# read sample data from given csv file
sample_data <- read_csv("ucr_crime_1975_2015.csv")
# plot a basic line plot using ggplot() function
# color parameter is used to colot the plot according
# to department_name
ggplot(sample_data, aes(x=year, violent_per_100k)) +
# geom_line function is used to plot line plot
geom_line()
R
# load package tidyverse
library(tidyverse)
# read sample data from given csv file
sample_data <- read_csv("ucr_crime_1975_2015.csv")
# plot a basic line plot using ggplot() function
# color parameter is used to colot the plot according
# to department_name
ggplot(sample_data, aes(x=year, violent_per_100k, color=department_name)) +
# geom_line function is used to plot line plot
geom_line()+
# theme with legend.position as none removes the
# legend form plot
theme(legend.position = "none")
输出:
在这里,生成的图看起来不像多个时间序列。这是因为对于上面示例中的多个时间序列,我们只使用了两个变量,而单个时间序列图需要这两个变量。为了得到一个多时间序列图,我们需要一个更多的差异化变量。所以我们将使用颜色参数根据另一个区分口径的变量对线图进行分组和着色。
Syntax:
ggplot( df, aes( x, y, color ) ) + geom_line()
where,
- df: determines the data frame used
- x and y: determines the axis variable
- color: determines the variable according to which plot is grouped and colored
例子:
这是使用 ggplot2 包的 geom_line()函数制作的基本线图。在这里,我们根据部门名称对绘图进行了分组和着色。这为多个时间序列创建了必要的三个微分变量。
R
# load package tidyverse
library(tidyverse)
# read sample data from given csv file
sample_data <- read_csv("ucr_crime_1975_2015.csv")
# plot a basic line plot using ggplot() function
# color parameter is used to colot the plot according
# to department_name
ggplot(sample_data, aes(x=year, violent_per_100k, color=department_name)) +
# geom_line function is used to plot line plot
geom_line()+
# theme with legend.position as none removes the
# legend form plot
theme(legend.position = "none")
输出: