1

問題: plotly を使用して、R で丸みを帯びた 2D 等高線プロットを再現しようとしています (ggplot2 も試しましたが、plotly の方が簡単なようです)。

データ:サンプル データのダウンロード リンク - https://drive.google.com/file/d/10Mr5yWVReQckPI6TKLY_vzPT8zWiijKl/view?usp=sharing

等高線用にプロットされるデータは列形式であり、通常はz変数と呼ばれます。のすべての値に対して利用可能なデータもありxます。単純なデータフレームは次のようになります。yz

サンプルデータフレーム

小数を切り捨てているので、共通の x と y の繰り返しは無視してください。データには約 25000 行あります。

アプローチ:最初に akima パッケージを使用して、与えられた変数の値を補間しz、2dでマップします。これにより、列データが 2D プロット用の xy グリッドに収まり、等高線が表示されます。xyzz

期待される結果:
z 変数の 2 次元等高線図

使用したコード:

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")

実際の結果: 等高線プロット

必要なヘルプ: 実際の結果プロットのエッジを、予想される結果の画像とほぼ一​​致するように調整します。

コメントとヘルプをお寄せいただきありがとうございます。

4

1 に答える 1