編集:私はちょうどあなたがあなたの次元の一つが最新であることを指摘しました
。その場合、3次元時系列をチャート化するように設計されたhave a look at Jeff Ryan's chartSeries3d。ここで彼は時間をかけてイールドカーブを示しています
chartSeries example http://www.quantmod.com/examples/chartSeries3d/chartSeries3d-thumb.png
オリジナル回答:私はそれを理解し、あなたがcountourマップが3D表面プロットの下に平面上の投影になりたい
。私は、2つのプロットを作成して組み合わせる以外に、これを行う簡単な方法があるとは思わない。あなたはfind the spatial view helpful for thisかもしれません。
プロット3D用の2つの主要なRパッケージがあります。rgl(またはあなたが関連misc3dパッケージを使用することができます)とscatterplot3dが。
RGL
RGLパッケージは、インタラクティブな3Dプロット(read more on the rgl website)を作成するために、OpenGLを使用しています。ここでsurface3d
機能を使用して例を示します。
library(rgl)
data(volcano)
z <- 2 * volcano # Exaggerate the relief
x <- 10 * (1:nrow(z)) # 10 meter spacing (S to N)
y <- 10 * (1:ncol(z)) # 10 meter spacing (E to W)
zlim <- range(z)
zlen <- zlim[2] - zlim[1] + 1
colorlut <- terrain.colors(zlen,alpha=0) # height color lookup table
col <- colorlut[ z-zlim[1]+1 ] # assign colors to heights for each point
open3d()
rgl.surface(x, y, z, color=col, alpha=0.75, back="lines")
アルファパラメータは、この表面が部分的に透明になります。今度は、面のインタラクティブ3Dプロットがあり、下にカウンターマップを作成したいとします。 RGLは、既存のイメージに多くのプロットを追加できます。この面で
colorlut <- heat.colors(zlen,alpha=1) # use different colors for the contour map
col <- colorlut[ z-zlim[1]+1 ]
rgl.surface(x, y, matrix(1, nrow(z), ncol(z)),color=col, back="fill")
我々は他の表面の下に平面を持つように私は= 1の高さを設定します。これは、このように見てしまい、そしてマウスで回転させることができる。
3D surface plot http://i45.tinypic.com/12637gy.jpg
scatterplot3d
scatterplot3dはRにおける他のプロット関数(read the vignette)のようなもう少しあります。ここに簡単な例があります:
temp <- seq(-pi, 0, length = 50)
x <- c(rep(1, 50) %*% t(cos(temp)))
y <- c(cos(temp) %*% t(sin(temp)))
z <- c(sin(temp) %*% t(sin(temp)))
scatterplot3d(x, y, z, highlight.3d=TRUE,
col.axis="blue", col.grid="lightblue",
main="scatterplot3d - 2", pch=20)
この場合、画像をオーバーレイする必要があります。 R-Wiki has a nice post on creating a tanslucent background image。
ありがとうシェーン。私はこれが非常に良い出発点だと思う。ちなみに、軸の1つが時系列(つまり日付)であることに気付いたことがあります。プロットしようとする前に何らかの操作をする必要がありますか、またはR(または本当にrglパッケージ)が日付を正しく扱いますか? –
こんにちはシェーン、大変ありがとうございました。あなたは私に十分な弾薬を与えて、褒められました。より具体的な問題に遭遇した場合は、私はより具体的な質問でここに戻ります。私はあなたの答えを受け入れたものとしてマークします。 –
ポイントデータでも機能するのだろうかと思いますか?私は緯度/経度データを持っており、各点は特定の値を持っています。このデータを「高さマップ」としても使用できますか? – Stophface