1

ゴール

ここに画像の説明を入力

コード

require(lattice)

png('my_typing.png')
par(mfrow=c(2,1))

read.csv('race_data.csv')->sol
plot(sol$Race.., sol$WPM*sol$Accuracy, type='l')

# TODO: it wrongly substitutes the plot with levelplot
# TODO: I want two plots one below another, plot and then levelplot below
levelplot(cor(sol[1:5]))

ヘルパーの質問

  1. 通常のプロットと特別なプロットを 1 つの PNG ファイルにまとめてプロットするにはどうすればよいですか?

  2. ラティスやグリッドなどのさまざまなプロット パッケージをベースに組み合わせる必要がありますか?

4

2 に答える 2

3

グリッドとベースのグラフィックス出力を結合するためのサポートを提供するgridBaseパッケージ。

簡単な例を次に示します。

library("grid")
library("gridBase")
library("lattice")

# example from levelplot help page
x <- seq(pi/4, 5 * pi, length.out = 100)
y <- seq(pi/4, 5 * pi, length.out = 100)
r <- as.vector(sqrt(outer(x^2, y^2, "+")))
g <- expand.grid(x=x, y=y)
g$z <- cos(r^2) * exp(-r/(pi^3))
p <- levelplot(z~x*y, g, cuts = 50, scales=list(log="e"), xlab="",
               ylab="", main="lattice levelplot",
               colorkey=FALSE, region=TRUE)

grid.newpage()
pushViewport(viewport(layout=grid.layout(2, 1,
                                         heights=unit(c(2, 1), "null"))))
vp <- pushViewport(viewport(layout.pos.row=1, layout.pos.col=1))
par(omi=gridOMI())
# base graphics
plot(1:10, main="base graphics plot")
popViewport()
# lattice plot
vp <- pushViewport(viewport(layout.pos.row=2, layout.pos.col=1))
print(p, vp=vp, newpage=FALSE)
popViewport()
popViewport()

gridBase の例

于 2012-08-18T20:17:23.360 に答える
0

氏。#Rでは、1つのタイプのプロットのものだけを使用することをお勧めします。Trellis関数は基本関数と互換性がないため、トレンドラインやタイトルなどの構文も再プログラムする必要があります。さもなければ、あなたは犬に時間と一貫性を混乱させるシンタンティックを作成します。

私はグリッドグラフィックスを行う別の方法を見つけようとしているので、執筆が進行中です。

グリッドグラフィックを作成するさまざまな方法

1. Trellis-ラティス-pkgを使用した方法、ここにコード

ここに画像の説明を入力してください

2.異なるplot-pkgsを組み合わせる

氏。この方法はお勧めしませんが、rcsの方法はここにあります。MRによると、グリッドは"much more user friendly way of creating grid grapics"であるため、学ぶ価値があると思います。latticeやggplot2などはグリッドの上に構築されています。ベースプロット関数とグリッドプロット関数の組み合わせについては、こちらのペーパーを参照してください

于 2012-08-18T19:58:50.370 に答える