【发布时间】:2015-06-25 10:15:44
【问题描述】:
我想绘制一个组合我的数据框df 的多列的散点图。数据框如下所示:
x y a b c d e f
1 1.882665e-09 1.324425e-09 0.7034844 160 g Loc1 0.25 30
2 7.173770e-09 4.830280e-09 0.6733253 160 g Loc2 0.25 30
我编写的代码允许我绘制 df$x 与 df$y 的图,引入互补变量 f 来表示点的颜色(我有 3 个级别的 f)。
这是代码(对数轴有一些额外的行):
data %>% ggvis(~x, ~y) %>%
+ layer_points(fill = ~factor(f)) %>%
+ scale_numeric("x", trans = "log", expand=0) %>%
+ scale_numeric("y", trans = "log", expand=0)
这是我得到的情节:
是否可以再插入一个参数(如形状)并将 df 的另一列(例如 b 列)用作因子?如果是,如何正确设置图例?
---------------------------------------------- ------------
一些,问题的进展。
我设法绘制了我想要的图,但我仍然不清楚传说。
这是新代码:
data %>% ggvis(~x, ~y) %>%
+ layer_points(fill = ~factor(f), shape = ~factor(b)) %>%
+ scale_numeric("x", trans = "log", expand=0) %>%
+ scale_numeric("y", trans = "log", expand=0) %>%
+ add_axis("x", title = "blabla1") %>%
+ add_axis("y", title = "blabla2") %>%
+ add_legend(c("fill", "shape"))
这是新的图形:
【问题讨论】:
-
我看到
layer_points的shape、stroke和size参数应该映射到任何变量,就像您对fill所做的那样。