木の年輪をプロットし、その面積を計算しようとしています。しかし、実際には、すべてのリングが円のように対称な半径を持つわけではないことに気付きました。4つの半径のデータ測定値があり、この例のようにすべての無線の各ポイントに続いてリング(または同様の形状)をプロットしたいと思います(この図はPowerPointでベクトルを使用して手動で作成されました):
circles
問題は、RI で、関数からのオプションを使用してこれらのリングをプロットする可能性しか見つからなかったことです。次のsymbols()
グラフが得られました。
この R スクリプトを使用して:
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)
楕円を描画する関数 ( elliplot
、ellipse
、ellipseplot
、car
など) を含むいくつかのパッケージをチェックしましたが、それらの関数が好きではありません。私はこれらのパッケージを使用することに興味はありません。逆に、独自のコードを書きたいと思っています。
私の考えは、4つの半径のデータ値を使用して、リングの実際の形状に最もよく合う形状をプロットすることです。楕円、楕円などにすることができます.
円では、1 つのラジオのデータのみを使用しています (私の例では、すべての半径の平均)。長軸 (A+B) と短軸 (C+D) の少なくとも 2 つの値を使用できるため、楕円の方が適しています。しかし、4 つの半径 (A、B、C、D) またはそれ以上の半径の値を使用する形状を描画するのは素晴らしいことです。
ここでは、男がR スクリプトを使用して非常に素晴らしい超楕円を描き、別の人がRでリングのような楕円を描きました。
ただし、特定の問題に対してそれらのメソッドを使用する方法がわかりません。
誰かがRで少なくとも楕円を描き始める方法を知っていればいいでしょう。しかし、4 つの半径の値を使用して形状 (楕円形、楕円形など) を描き、最終的にそれらの面積を計算する方法を知っておくとよいでしょう。
あなたの助けやそれを行うための指示をいただければ幸いです。
アップデート:
生徒に木の成長を説明するのに非常に役立ちました。ただし、ほとんどの熱帯の木は非常に不規則な形をしており、ラジオ「E」を追加して、このスキームのように異なる位置にある半径軸を使用して、この別の形を描くことができるかどうかを知りたいと思っています。
どの方向も私にとって非常に役立ちます。