问题:我正在尝试使用 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
对给定的变量值进行插值x
并在 2dy
中映射。z
这使得z
列数据适合用于 2d 绘图和显示轮廓的 xy 网格。
使用的代码:
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")
需要帮助: 将实际结果图的边缘细化为与预期结果图像非常匹配的东西。
非常感谢您的评论和帮助。