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 月 8 日):
コメントで指摘されているように、ggplot
の哲学は、データを長い形式で使用することを提案しています。対応するコードを確認するには、この回答を参照してください。