r - 格子中的多区域图
问题描述
我正在推动lattice
它的极限。
考虑这个例子
tibble(time = c(ymd('2019-01-01'),
ymd('2019-01-02'),
ymd('2019-01-03'),
ymd('2019-01-01'),
ymd('2019-01-02'),
ymd('2019-01-03'),
ymd('2019-01-01'),
ymd('2019-01-02'),
ymd('2019-01-03')),
variable = c('a','a','a','b','b','b', 'c','c','c'),
value = c(1,2,3,0,0,2,2,4,3)) %>%
ggplot(aes(x = time, y = value, fill = variable)) + geom_area()
使用如何在格子中创建堆叠面积图的好解决方案?在这里不起作用,也许是因为我们有多个区域。
我们还能做lattice
吗?谢谢!
解决方案
library(dplyr)
library(lubridate)
library(lattice)
library(latticeExtra)
df1 <- tibble(time = c(ymd('2019-01-01'),
ymd('2019-01-02'),
ymd('2019-01-03'),
ymd('2019-01-01'),
ymd('2019-01-02'),
ymd('2019-01-03'),
ymd('2019-01-01'),
ymd('2019-01-02'),
ymd('2019-01-03')),
variable = c('a','a','a','b','b','b', 'c','c','c'),
value = c(1,2,3,0,0,2,2,4,3))
df2 <- df1 %>% group_by(time) %>% mutate(val=cumsum(value))
xyplot(val~time, df2, group=variable,
panel=function(x,y,...){
panel.xyarea(x,y,...)
panel.xyplot(x,y,...)},
alpha=c(0.9,0.6,0.3))
由reprex 包(v0.3.0)于 2019 年 6 月 13 日创建
推荐阅读
- reactjs - heroku 不想玩我的 p5-react 应用程序
- haskell - 不知道如何正确键入我的 N 叉树
- python - 从我的函数中得到一个稍微错误的数组,只有逗号不同,但没有任何值或没有。价值观
- node.js - 为什么 \r 在 Node 中弄乱了我的字符串而不是在浏览器中?
- python-3.x - 如何使用漂亮的汤解析大 XML 文件?
- c - CMake 命令查询 (add_custom_command)
- r - 当未绘制二次项中的变量时,如何将 lm() 与 poly() 和 ggeffect() 一起使用来绘制模型效果
- javascript - 如何将东西存储在异步存储中?
- c - Cython 中的方法如何在 C 中实现?
- docker - Docker Desktop 无法切换到 Windows 容器