私は木のリングをプロットし、その面積を計算しようとしています。しかし、私は、実際には、すべてのリングが円のような対称の半径を持っているわけではないことに気付きました。 (この図では、PowerPointのベクターを用いて手動で行われていた)私は4つの半径のデータ測定値を持っており、私は、この例のように、すべての無線の各点以下の環(又は任意の同様の形状)をプロットしたい:いくつかの点に続いて形(楕円形または楕円形)を描き、その領域を計算する方法は?
data <- data.frame(
a = c(1,4,5,8, 10),
b = c(1, 3,7,9, 10),
c = c(2, 6, 8, 9 ,10),
d = c(1, 3, 4, 7, 9))
data$y <- (data$a - data$b)/2 # y position
data$x <- (data$d - data$c)/2 # x position
data$z <- rowMeans(data[,1:4]) # radio length
symbols(x = data$x, y = data$y, circles=data$z,
xlim = c(-10, 10)*1.5, ylim = c(-10, 10)*1.5, inches = F, fg = "orange", lwd = 2)
:このRスクリプトを使用して
:
問題がRIにsymbols()
機能からcircles
オプションを使用してこれらのリングをプロットするための唯一の可能性を発見した、と私はこのグラフを得たことです
私は、省略記号(elliplot
、ellipse
、ellipseplot
、car
など)を描画する機能を持つパッケージをチェックしましたが、その機能が嫌いです。私はこれらのパッケージを使用することに興味がありません、逆に私は独自のコードを記述したいと思います。
私の考えでは、それは私だけで使用しているサークルでなど
楕円、楕円形とすることができる最高のは、4つの半径の私のデータ値を持つリングの本当の姿を満たしている形状をプロットすることです1つのラジオのデータ(私の例では、すべての半径の平均)。 長軸(A + B)と短軸(C + D)の少なくとも2つの値を使用できるので、楕円の方が良いでしょう。しかし、4つの半径(A、B、C、D)またはそれ以上の半径の値を使用する形を描くのはすばらしいことです。
Here男はR scriptを使用して非常に素晴らしいsuperellipseを描いた、そしてもう一つは、いくつかのellipses likes ringsin Rを描きました。
しかし、自分の特定の問題に自分のメソッドを使用する方法はわかりません。
誰かがRで少なくとも楕円を描画する方法を知っていればいいですね。しかし、4つの半径の値を使用して形状(楕円形、楕円形など)を描き、最終的にその面積を計算する方法を知ることは素晴らしいことです。
私は非常にあなたの助けやそれを行うために指示をいただきたいと思います。
UPDATE:あなたの優秀な答えをcuttlefish44 @
おかげで、それは私の生徒たちに木の成長を説明するのに非常に有用でした。しかし、ほとんどの熱帯の木は非常に不規則な形状を持っているし、今私は、追加のラジオ「E」と、このスキームのように異なる位置で半径軸と、この他の形状を描くことができますかどうかを知るために疑問に思って:
どんな方向性であれ私にとって非常に便利です。
感謝を描きます。しかし、私はより多くの不規則な形を描くために新たな問題を抱えています。私は必要なものを説明するために自分の投稿を更新しました。それとも、新しい質問を作成する方がよいと思いますか? –