問題: plotly を使用して、R で丸みを帯びた 2D 等高線プロットを再現しようとしています (ggplot2 も試しましたが、plotly の方が簡単なようです)。
データ:サンプル データのダウンロード リンク - https://drive.google.com/file/d/10Mr5yWVReQckPI6TKLY_vzPT8zWiijKl/view?usp=sharing
等高線用にプロットされるデータは列形式であり、通常はz
変数と呼ばれます。のすべての値に対して利用可能なデータもありx
ます。単純なデータフレームは次のようになります。y
z
小数を切り捨てているので、共通の x と y の繰り返しは無視してください。データには約 25000 行あります。
アプローチ:最初に akima パッケージを使用して、与えられた変数の値を補間しz
、2dでマップします。これにより、列データが 2D プロット用の xy グリッドに収まり、等高線が表示されます。x
y
z
z
使用したコード:
dens <- akima::interp(x = dt$`Xvalue(mm)`,
y = dt$`Yvalue(mm)`,
z = dt$Values,
duplicate = "mean",
xo=seq(min(dt$`Xvalue(mm)`), max(dt$`Xvalue(mm)`), length = 10),
yo=seq(min(dt$`Yvalue(mm)`), max(dt$`Yvalue(mm)`), length = 10))
plot_ly(x = dens$x,
y = dens$y,
z = dens$z,
colors = c("blue","grey","red"),
type = "contour")
必要なヘルプ: 実際の結果プロットのエッジを、予想される結果の画像とほぼ一致するように調整します。
コメントとヘルプをお寄せいただきありがとうございます。