2016-03-25 11 views
-1

同じグラフに、A = [1 2; 3 4]B = [1 3; 2 4]という2つの異なるセットをプロットします。私はプロットを保存する必要があるので、私の考えはmyPlot <- qplotの後にggsaveを続けて使用することです。ggplotで複数のデータセットをプロットする

このようなアプローチでは、エラーが発生しないで複数のデータセットをプロットするにはどうすればよいですか?formal argument "data" matched by multiple actual arguments?ここで

は、私が今使っているコードです:

yPlot <- qplot(A[,1], A[,2], data = A[1:2], geom="point", 
       B[,1], B[,2], data = B[1:2], geom="point") + xlim(0, 10) 
ggsave(filename="Plot.jpg", plot=myPlot, width = 12, height = 8) 

答えて

0

はここで同図に二つのデータフレームをプロットするためのテンプレートです:

A = data.frame(x = rnorm(10),y=rnorm(10)) 
B = data.frame(x = rnorm(10),y=rnorm(10)) 
ggplot(A,aes(x,y)) +geom_point() +geom_point(data=B,colour='red') + xlim(0, 10) 

または同等:

qplot(x,y,data=A) +geom_point(data=B,colour='red') + xlim(0, 10) 

数字を横に並べてプロットする場合は、?parを参照し、 'mfcol'と 'mfro w '

ggsaveに加えて、?pdfを参照してください。

+0

ありがとうございます! AとBのサイズが異なるとどうなりますか? –

+1

データフレームの行数が異なることを意味しますか?そうであれば、両方のソリューションが引き続き機能するはずです。 – Jthorpe

+0

行列やデータフレームを使用していますか?もしそうなら、おそらくas.data.frameを使ってそれらをデータフレームに強制したいでしょう。また、ggplotはアテニュエーションを変数名にマッピングします(ggplotは位置を妙に扱います)。なぜなら、私は 'geom_point()'にxとyという名前を付ける必要がなかったからです。したがって、同じ名前のdata.framesが必要になります。通常の表記法(2行×10列)を使用している場合は、次のようなものを使いたいとします。 'a = as.data.frame(t(A));名前(a)< - c( 'x'、 'y') ' – Jthorpe

関連する問題