2016-08-11 4 views
0

私は何時間も何度も検索していましたが、同様の質問がありましたが、私はまだ問題を解決できませんでした。同じファセット上に同じインデックスの2つのデータセットを2つ並べて表示

ここは私の質問です。私は2つのデータセットが同じ列名を持っています、この例では同じ行名のどちらかです。

は、データセットがあるとしましょう:

t <- seq(1, 20, by = 0.5) 

num_of_rows <- length(t) 

df1 <- data.frame(A = runif(num_of_rows), B = runif(num_of_rows), C = runif(num_of_rows), D = runif(num_of_rows), F = runif(num_of_rows)) 

dimnames(df1)[[1]] <- t 

df2 <- data.frame(A = runif(num_of_rows), B = runif(num_of_rows), C = runif(num_of_rows), D = runif(num_of_rows), F = runif(num_of_rows)) 

dimnames(df2)[[1]] <- t 


df1<-melt(as.matrix(df1)) 
df2<-melt(as.matrix(df2)) 
colnames(df1) <- c("X1", "X2", "value") 
colnames(df2) <- c("X1", "X2", "value") 


ggplot() + geom_line(df1, aes(X1, value, color=factor(X2)), linetype=2) + geom_line(df2, aes(X1, value, color=factor(X2)) + facet_wrap(~X2) 

私が欲しいのは、面としての両方のデータセットからの同じインデックスを持つ列を持つ各ファセットを、それらのデータセットをプロットすることです。私はアナログの質問、つまり融解、データセット番号のタグの割り当てなどの答えに従うために結んでいますが、まだ10個の面があります。最初のデータセットから最初の5つ、次に2番目のデータセットから5つ。私はあなたが提供できるどんな助けにも感謝します。

ありがとうございます。

+0

どのようにそれらをプロット?どのプロット関数、ggplot2?試行したコードを表示し、修正方法を教えてください。 – MrFlick

+0

@MrFlick申し訳ありませんが、私はそれが明らかであると思いました。はい、ggplotを使用します。 ggplot()+ geom_line(df1、aes(X1、value、color = factor(X2))、linetype = 2)+ geom_line(df2、aes(X1、value))を作成しました。 、color = factor(X2))+ facet_wrap(〜X2) – user3185925

+1

あなたの質問にそのコードを含めてください。あなたがすでに行っている余分な作業をする理由はありません – MrFlick

答えて

0

私は5つのファセットが必要であると仮定します。各ファセットには2つの線がデータのソースによって区別されます。そうであれば、あなたの美しさにはcolour=factor(src)(またはデータソースを指定すること)を選択し、X2facet_wrap(これまで通り)を設定します。

df1$src <- 1 
df2$src <- 2 
d <- rbind(df1, df2) 

ggplot(d) + 
    geom_line(aes(X1, value, colour=factor(src))) + 
    facet_wrap(~X2, ncol=5) 

enter image description here

+0

大変ありがとうございました。私はデータセットにdata1とdata2というタグを付けましたが、データのソースとして色を設定するというアイデアは出ていませんでした。何か提案がありましたら、どのようにして1行を破線で設定できますか? – user3185925

+0

同じアイデア: 'linetype = factor(src)' 'ggplot'のドキュメントには、多くの有益な詳細と例があります。異なるラインタイプが必要な場合は、' scale_linetype_manual'を参照してください。 –

関連する問題