Я хочу построить данные из разных фреймов данных с помощью ggplot.Однако у меня проблемы с дискретным и непрерывным масштабами.
Допустим, мы хотим использовать эти данные:
x <- rnorm(9,5)
y <- rnorm(9,5)
f1 <- rep(c("a","b","c"),3)
df1 <- data.frame(x,y,f1)
x <- rnorm(9,5)
y <- rnorm(9,5)
f2 <- rep(c("d","e","f"),3)
df2 <- data.frame(x,y,f2)
Я хотел бы показать оба фрейма данных на одном графике.df1 $ f1 и df1 $ f2 оба должны отвечать за цвета точек:
p <- ggplot(df1,aes(x,y))
p <- p + geom_point(aes(colour=f1))
p <- p + geom_point(data=df2,aes(x,y,colour=f2))
p
Это работает.
Однако, когда у меня есть эти данные:
x <- rnorm(9,5)
y <- rnorm(9,5)
f1 <- rep(c("a","b","c"),3)
df1 <- data.frame(x,y,f1)
x <- rnorm(9,5)
y <- rnorm(9,5)
quan <- rnorm(9,1)
df2 <- data.frame(x,y,quan)
этот график не работает:
p <- ggplot(df1,aes(x,y))
p <- p + geom_point(aes(colour=f1))
p <- p + geom_point(data=df2,aes(x,y,colour=quan))
p
Error: Continuous variable () supplied to discrete scale_hue.
f1
как фактор, quan
- числовое значение, и кажется логичным, что их нельзя использовать с одинаковым масштабом.Но как я могу определить отдельную шкалу для каждого фрейма данных?Или это возможно не возможно?
Я пытался использовать scale_colour_discrete
и scale_colour_continuous
, но кажется, что только одна из двух шкал может быть использована для одного графика.