2013-02-18 4 views
0

У меня есть два ggplots. Могу ли я как-то нарисовать их на одной картинке? Один в качестве фона другого Моего кода:два ggplots на одном

ggplot(data = dd, aes(x = x, y = y)) + 
+  geom_point(colour="red", size = 3, aes(alpha=col)) 
ggplot(data=df, aes(x=x, y=y)) + geom_segment(aes(xend=x+dx, yend=y+dy), arrow = arrow(length = unit(0.3,"cm"))) 

Благодаря

+0

Было бы намного проще, если бы вы задали это как один вопрос вместо трех отдельных вопросов. – Arun

ответ

2

С ggplot2 вы можете построить данные из разных источников, указав другой аргумент data ваших различные geom_*. Что-то вроде:

library(grid) 
df <- data.frame(x=runif(10),y=runif(10),dx=rnorm(10),dy=rnorm(10)) 
dd <- data.frame(x=runif(15), y=runif(15)) 
ggplot() + 
    geom_point(data=dd, aes(x=x, y=y), col="red") + 
    geom_segment(data=df, aes(x=x, y=y, xend=x+dx, yend=y+dy), arrow = arrow(length = unit(0.3,"cm"))) 

enter image description here

Является ли это то, что вы пытаетесь сделать?

+0

Да! Большое спасибо! :) – user2080209

+0

@ user2080209, я не совсем понимаю. Как вы создаете свой второй набор точек для использования 'geom_segment' для создания векторного поля? Вы произвольно создаете точки, как показано здесь juba, используя 'rnorm'? Это случайное направление для векторных полей ... – Arun

+0

У меня есть текстовый файл. Там написаны мои x, y, dx, dy. Я не генерирую их случайным образом – user2080209

Смежные вопросы