根据分类变量更改曲线下区域的颜色 (geom_area)
Changing the color of the area under the curve according to a categorical variable (geom_area)
我正在尝试绘制一条曲线(geom_area),曲线下的面积根据第三个变量而变化。
这是一个可重现的例子:
data <- data.frame(
time = seq(1,10),
activity = c(43.59675 ,18.15803 ,26.59981 ,72.64358 ,20.68794, 86.13841, 47.64718, 83.94334 ,32.33138, 81.70798),
space = c(1 ,3 ,3 ,1 ,2 ,3 ,2 ,2 ,3 ,1)
)
data$space <- as.character(data$space)
ggplot(data,
aes (x = time, y = activity)) + geom_area()
结果在这里:
我想要的是根据space变量给曲线下的这个黑色区域上色。
尝试类似下面的代码会给出一条非常奇怪的曲线(在这里查看:
ggplot(data,aes (x = time, y = activity, fill = space)) + geom_area()
有什么帮助吗?
首先你需要一些数据操作!
然后你可以使用 geom_ribbon()
.
data$space <- as.factor(data$space)
data$time <- as.factor(data$time)
data$df <- as.factor(data$time)
data2 <- data.frame(time=data$time[-1], activity=data$activity[-1], space=data$space[-10], df=data$df[-10])
data3 <- rbind(data,data2)
ggplot(data3, aes (x = time, ymax = activity, ymin=0, group=df, fill=space)) +
geom_ribbon()
我正在尝试绘制一条曲线(geom_area),曲线下的面积根据第三个变量而变化。
这是一个可重现的例子:
data <- data.frame(
time = seq(1,10),
activity = c(43.59675 ,18.15803 ,26.59981 ,72.64358 ,20.68794, 86.13841, 47.64718, 83.94334 ,32.33138, 81.70798),
space = c(1 ,3 ,3 ,1 ,2 ,3 ,2 ,2 ,3 ,1)
)
data$space <- as.character(data$space)
ggplot(data,
aes (x = time, y = activity)) + geom_area()
结果在这里:
我想要的是根据space变量给曲线下的这个黑色区域上色。 尝试类似下面的代码会给出一条非常奇怪的曲线(在这里查看:
ggplot(data,aes (x = time, y = activity, fill = space)) + geom_area()
有什么帮助吗?
首先你需要一些数据操作!
然后你可以使用 geom_ribbon()
.
data$space <- as.factor(data$space)
data$time <- as.factor(data$time)
data$df <- as.factor(data$time)
data2 <- data.frame(time=data$time[-1], activity=data$activity[-1], space=data$space[-10], df=data$df[-10])
data3 <- rbind(data,data2)
ggplot(data3, aes (x = time, ymax = activity, ymin=0, group=df, fill=space)) +
geom_ribbon()