LoginSignup
4
6

More than 5 years have passed since last update.

不規則な間隔のデータ点を曲面プロットする

Posted at

x-y平面上のデータを描画することを考える。
散布図をプロットするだけならばplot3dでプロットできる

library(rgl)
plot3d(x, y, z)

surface plotをしたい場合、データがx-y平面上に規則的に並んでいる必要がある。
データが規則的に並んでいない場合は補完をして規則的なデータ点を生成する必要がある。

akimaライブラリを使用して補完し規則的なデータを生成することができる。

library(akima)
interpolated <- interp(x, y, z)
plot3d(x,y,z)  # 元のデータ点をプロット
surface3d(interpolated$x, interpolated$y, interpolated$z)  #補完したデータをプロット

デフォルトではx,y40点ずつ補完される。
より微細に補完したい時はxo, yoを指定する。

finer <- interp(x,y,z,xo=seq(min(x),max(x),length=200),yo=seq(min(y),max(y),length=200))
surface3d(finer$x, finer$y, finer$z)
  • sample
    • 黒い点がデータ点
    • 緑の綿が補完したデータをsurface3dで描画したもの kobito.1378877802.603817.png
4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6