我有一个看起来像这样的数据集
"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的方法。 即使我能用闪亮的东西做它也应该很棒。 非常感谢您的帮助。
答案 0 :(得分:3)
你可以这样做:
library(ggvis)
DT %>% ggvis(x= ~YEAR) %>%
layer_lines(y= ~A, stroke:='blue') %>%
layer_lines(y= ~B, stroke:='orange')
我假设你需要为每一行提供不同的颜色,以便能够区分这些组,所以我添加了stroke
参数。
输出:
如果先熔化data.frame然后使用stroke参数进行绘图,那么它可能会更好,这也会返回一个图例。像这样:
library(reshape2)
DT2 <- melt(DT, 'YEAR', c('A','B'))
DT2 %>% ggvis(~YEAR, ~value, stroke=~variable) %>% layer_lines()
答案 1 :(得分:2)
试试这个:
DT %>% ggvis(~YEAR, ~A) %>% layer_lines()%>%layer_lines(x=~YEAR, y=~B)