2012-03-22 16 views
1

この方法では、私には線グラフがあります。同じグラフに「2つの」線のプロットをプロットしたい。私は単純にそのデータを追加することができますどのように、'R'を使用して同じグラフに2行をプロットする

データは、フォームIはcolumn1のようにX軸とY軸に沿って、他の2つの列をプロットしたい

1 5 10 
2 8 20 
3 9 30 

です。あなたはあなたの問題を示し再現性例を提供する場合、私たちはあなたを助けるためにするために、それははるかに簡単です - 余談として

----- 
# Commands 
    2 
    3 library(ggplot2) 
    4 
    5 req <- read.table("stats_quick_sort.dat") 
    6 
    7 summary(req) 
    8 
    9 xx <- req$V1 
10 yy <- req$V2 
11 
12 
13 png('stats_sort_image.png', width=800, height=600) 
14 gg <- qplot(xx, yy) + geom_line() 
15 print(gg) 
16 dev.off() 

答えて

2

。私はあなたに答えとして再現可能な例を与えるつもりですので、私が何を意味するかを見てください。誰でもコードをコピーして貼り付けることができます(私はstats_quick_sort.datがないので、コードをコピー/ペーストできませんでした)。

あなただけaesからxy変数に送り、再びgeom_lineを呼び出すプロット上の複数のラインプロットに:あなたはあなたがしたあなたのプロットに他の情報を追加したい場合は、一般的には

# generate some dummy data so this example can be reproduced 
xx <- sort(runif(20)) 
yy <- runif(20) 
yy2 <- runif(20) 

gg <- qplot(xx, yy) + geom_line()  # first line 
gg <- gg + geom_line(aes(x=xx, y=yy2)) # add the second line! 
print(gg) 

を最初のqplot/ggplotコールでは供給されていないので、aesにフィードしてください。あなたはラインをしたいですか? geom_lineを使用してください。新しいx座標とy座標が必要ですか?次に、geom_line(aes(x= .., y=..))を使用します。等々。

+0

、私は少し私のポストを修正しました。 –

1

おそらく少し ggplotを使用するより標準的な方法は、長いdata.frameを作成し、それぞれの関心のある変数を美的にマッピングすることです。これにより凡例を自動的に追加するなどの簡単な方法が提供されます。これにより、新しい行を追加するたびに個々のレイヤーを追加するよりも簡単に拡張できます。ここでは例です:

それだった
library(ggplot2) 
library(reshape2) 
#Thanks mathematical coffee for data 
dat <- data.frame(xx = sort(runif(20)) 
        , yy = runif(20) 
        , yy2 = runif(20)) 

#Melt into long format, using xx as the ID variable 
dat.m <- melt(dat, id.vars = "xx") 

#What does this look like now? 
> head(dat.m,3) 
      xx variable  value 
1 0.001895333  yy 0.1240757 
2 0.037347893  yy 0.8760621 
3 0.086915655  yy 0.4068837 

#use ggplot and set the group and colour aesthetic to the variable column. This adds a legend 
ggplot(dat.m, aes(xx, value, group = variable, colour = variable)) + 
    geom_line() 

enter image description here

+0

3つ以上のYプロットを行うことはできますか? 3つまたは4つ? –

+0

@ berlinbrown2 - 絶対に。それは '溶融 '機能が本当に便利になる場所です。 1つのx変数と5つのy変数を持つ6列のdata.frameがあると、 'melt(yourData、id.vars =" x ")関数は適切なlong data.frameを作成します。 ggplotのウェブサイトには、http://had.co.nz/ggplot2/でご覧いただけるたくさんの良い例があります。私は警告する必要があります/ ggplot2 0.9.0は​​非常に大きな書き換えだったと私はすべての例が*まだ*更新されているかわからないことに注意してください。 – Chase