在 Y 轴上绘制 2 个变量,在 R 中使用 ggvis

plot 2 variables on Y axis, using ggvis in R

我有一个看起来像这样的数据集

"YEAR","A","B"
2001,100,177 
2002,154,419 
2003,334,190
2012,301,90

..还有更多行。

"YEAR" 列范围从 2001 年到 2013 年。 我在 data.table "DT"

中加载了数据集

我想绘制 X 轴为 YEAR 的图表,Y 轴为 A 和 B 的折线图。

换句话说,我必须将这两个图合二为一。

DT %>% ggvis(~YEAR, ~A) %>% layer_lines()
DT %>% ggvis(~YEAR, ~B) %>% layer_lines()

我知道用 ggplot2 做的方法,但找不到 ggvis 的方法。 即使我能在闪亮的情况下做到这一点也很棒。 非常感谢您的帮助。

试试这个:

DT %>% ggvis(~YEAR, ~A) %>% layer_lines()%>%layer_lines(x=~YEAR, y=~B)

你可以这样做:

library(ggvis)

DT %>% ggvis(x= ~YEAR) %>%
  layer_lines(y= ~A, stroke:='blue')   %>%
  layer_lines(y= ~B, stroke:='orange')

我假设您还需要为每一行使用不同的颜色以便能够区分组,因此我添加了 stroke 参数。

输出:

如果您先融化 data.frame 然后使用描边参数进行绘图,这可能会更好,这也会 return 一个图例。像这样:

library(reshape2)
DT2 <- melt(DT, 'YEAR', c('A','B'))
DT2 %>% ggvis(~YEAR, ~value, stroke=~variable) %>% layer_lines()