5

给定以下数据:

df<-data.frame(
  year=(1996:2000),
  a=c(2,1.5,1.5,2,3),
  b=c(2,2,2,3,4),
  c=c(2,3,3,1,1))

用ggplot:

  ggplot(df,aes(x=year))+
    geom_line(aes(y=a))+
    geom_line(aes(y=b))+
    geom_line(aes(y=c))

看起来像这样:

正常情节

如何。我可以创建一个始终显示最小值和最大值之间区域的功能区(把它想象成一个 min-max-range),让它看起来像这样: 范围更好的情节

4

1 回答 1

3

首先计算最小值和最大值怎么样:

df$min <- apply(df[, -1], 1, min)
df$max <- apply(df[, -1], 1, max)

然后简单地绘制功能区:

ggplot(df, aes(x = year, ymin = min, ymax = max)) + geom_ribbon()

ggplot2 功能区示例

于 2013-05-14T23:34:18.347 回答