在ggvis中绘制阶跃函数
Plotting a step function in ggvis
我想在 ggvis 中绘制一个阶跃函数,它通过一个因子变量分解为两种颜色。在 ggplot 中,对于这个可重现的示例,可以通过执行以下操作来实现:
library(ggplot2)
set.seed(10)
df=data.frame(id=1:100,y=rnorm(100),col=factor(c("MEN","WOMEN")))
ggplot(data=df)+geom_step(aes(id,y,colour=col))
在 ggvis 中我试过这样的东西:
library(ggvis)
set.seed(10)
df=data.frame(id=1:100,y=rnorm(100),col=factor(c("MEN","WOMEN")))
df %>% ggvis(x = ~id, y = ~y,stroke := ~col) %>%
layer_paths()
这给了我一个空的情节,我不确定为什么。 Layer_paths 不是我要找的东西,我读到 here ggplot2 中的 geom_step 在 ggvis 中被翻译成 layer_paths+transform_step 但我不知道不明白这是怎么做到的。感谢您的宝贵时间!
我使用 dplyr 的 group_by 和 Vega 的插值方法找到了解决方案。此外,我了解到如果目标是绘制 data.frame 中的每个因子,则使用“= ~MyFactorVariable”而不是“:= ~ MyFactorVariable”。如果值是固定的,则使用“:=”。例如行程:="red" :
library(dplyr)
library(ggvis)
set.seed(10)
df=data.frame(id=1:100,y=rnorm(100),col=factor(c("MEN","WOMEN")))
df %>% group_by(col)%>%ggvis(x = ~id, y = ~y) %>%
layer_paths(interpolate:="step-after",stroke = ~col)
我想在 ggvis 中绘制一个阶跃函数,它通过一个因子变量分解为两种颜色。在 ggplot 中,对于这个可重现的示例,可以通过执行以下操作来实现:
library(ggplot2)
set.seed(10)
df=data.frame(id=1:100,y=rnorm(100),col=factor(c("MEN","WOMEN")))
ggplot(data=df)+geom_step(aes(id,y,colour=col))
在 ggvis 中我试过这样的东西:
library(ggvis)
set.seed(10)
df=data.frame(id=1:100,y=rnorm(100),col=factor(c("MEN","WOMEN")))
df %>% ggvis(x = ~id, y = ~y,stroke := ~col) %>%
layer_paths()
这给了我一个空的情节,我不确定为什么。 Layer_paths 不是我要找的东西,我读到 here ggplot2 中的 geom_step 在 ggvis 中被翻译成 layer_paths+transform_step 但我不知道不明白这是怎么做到的。感谢您的宝贵时间!
我使用 dplyr 的 group_by 和 Vega 的插值方法找到了解决方案。此外,我了解到如果目标是绘制 data.frame 中的每个因子,则使用“= ~MyFactorVariable”而不是“:= ~ MyFactorVariable”。如果值是固定的,则使用“:=”。例如行程:="red" :
library(dplyr)
library(ggvis)
set.seed(10)
df=data.frame(id=1:100,y=rnorm(100),col=factor(c("MEN","WOMEN")))
df %>% group_by(col)%>%ggvis(x = ~id, y = ~y) %>%
layer_paths(interpolate:="step-after",stroke = ~col)