gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 11:08:28 26 4
gpt4 key购买 nike

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

"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 的方法。即使我能在 Shiny 的情况下做到这一点也很棒。非常感谢您的帮助。

最佳答案

你可以这样做:

library(ggvis)

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

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

输出:

enter image description here

如果您先融化 data.frame 然后使用也会返回图例的 stroke 参数进行绘图,可能会更好。像这样:

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

enter image description here

关于r - 在 Y 轴上绘制 2 个变量,在 R 中使用 ggvis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31357901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com