I have a data frame that looks roughly like this:
aa <- c(1:7)
bb <- c(11:15)
df1 <- expand.grid(aa, bb)
val1 <- rnorm(nrow(df1))
val2 <- runif(nrow(df1))
df <- data.frame(df1, val1, val2)
names(df) <- c("aa", "bb", "val1", "val2")
What I want to do: For a fixed aa (say, 1), there is a time series of val1 and val2 for all values of bb. Now, I would like to plot these (for aa = 1 these are 5 for each val1 and val2) time series. (so in total 7*5*2 time series)
How can I do this with ggplot2?
I tried the following:
require(ggplot2)
require(reshape2)
df_pl <- melt(df, id.vars = c("aa", "bb"), variable.name = 'val')
ggplot(df_pl, aes(aa, value)) + geom_point(aes(colour = val))
ggplot(df_pl, aes(bb, value)) + geom_point(aes(colour = val))
But this only produces plots of val1 and val2 as functions of aa and bb, not of a val1 / val2 series for each value of bb. I am probably using the melt function incorrectly
I'm unsure if I understood you correctly and this is what you want to achieve, but maybe try:
ggplot(df_pl, aes(aa, value)) + geom_point(aes(colour = val)) + facet_wrap(~bb)
ggplot(df_pl, aes(bb, value)) + geom_point(aes(colour = val)) + facet_wrap(~aa)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.