library(ggplot2) # 加载ggplot2包
library(ggthemes)
# 读取数据集
data("economics")
# 构建数据框
df <- data.frame(
date = as.Date(economics$date),
pce = economics$pce,
pop = economics$pop/1000, # 人口总数按千计单位来计算
psavert = economics$psavert,
uempmed = economics$uempmed
)
theme_set(theme_clean())
# 绘制折线图
p <- ggplot(df, aes(x=date)) +
geom_line(aes(y=pce, color="PCE")) + # 私人消费支出的折线图
geom_line(aes(y=pop, color="Population")) + # 人口总数的折线图
geom_line(aes(y=psavert*10, color="Personal Savings Rate")) + # 个人储蓄率的折线图,并将y值扩大10倍以便可视化
geom_line(aes(y=uempmed, color="Median Duration of Unemployment")) + # 失业人数中位数的折线图
labs(x="Date", y="Value", title="Economic Variables Over Time") +
scale_color_manual(values=c("red","blue","green","purple")) # 设置折线颜色
# 加入图例
p <- p + guides(color=guide_legend(title=NULL))
# 显示图形
p
在上述示例代码中,我们首先加载了ggplot2包,并读取了R语言内置数据集"economics"。然后我们构建了一个新的数据框"df",将数据集中的不同变量整理到不同列中,使得每个变量可以单独使用并绘制在一个折线图中。接下来我们使用 ggplot2 提供的 geom_line() 函数来分别绘制四个变量对时间的折线图,并用不同的颜色区分它们。然后我们指定了横轴名称、纵轴名称以及标题等绘图参数,并通过 scale_color_manual() 函数来手动设置折线颜色。最后我们使用 guides() 函数来显示图例。
需要注意的是,这里由于人口总数变量的值太大,因此我们将其除以1000来缩放单位。另外,在具体应用中,可能需要根据自己的需求修改绘图参数和数据处理方式,以获得更符合实际情况的可视化结果。