多層プロットを作成するときは、ggplot
パッケージを検討する必要があります。アイデアは、基本的な美学を備えたグラフィカルオブジェクトを作成し、それを段階的に強化することです。
ggplot
スタイルでは、データをにパックする必要がありますdata.frame
。
# Data generation
x <- seq(-2, 2, 0.05)
y1 <- pnorm(x)
y2 <- pnorm(x,1,1)
df <- data.frame(x,y1,y2)
基本的な解決策:
require(ggplot2)
ggplot(df, aes(x)) + # basic graphical object
geom_line(aes(y=y1), colour="red") + # first layer
geom_line(aes(y=y2), colour="green") # second layer
ここで+ operator
は、基本オブジェクトにレイヤーを追加するために使用されます。
を使用ggplot
すると、プロットのすべての段階でグラフィカルオブジェクトにアクセスできます。たとえば、通常の段階的な設定は次のようになります。
g <- ggplot(df, aes(x))
g <- g + geom_line(aes(y=y1), colour="red")
g <- g + geom_line(aes(y=y2), colour="green")
g
g
プロットが作成され、すべての段階で表示されます(少なくとも1つのレイヤーの作成後)。プロットのさらなるエンチャントも作成されたオブジェクトで行われます。たとえば、軸のラベルを追加できます。
g <- g + ylab("Y") + xlab("X")
g
最終的にg
は次のようになります。
更新(2013-11-08):
コメントで指摘されているように、ggplot
の哲学は、長い形式のデータを使用することを提案しています。対応するコードを確認するには、この回答を参照してください。
?curve
。を使用しadd=TRUE
ます。