【发布时间】:2018-07-02 14:18:17
【问题描述】:
问题:我正在尝试使用 plotly 在 R 中重现圆形填充的 2d 等高线图(也尝试过 ggplot2,但 plotly 似乎更容易)。
数据:示例数据下载链接 - https://drive.google.com/file/d/10Mr5yWVReQckPI6TKLY_vzPT8zWiijKl/view?usp=sharing
要为等高线绘制的数据采用列格式,通常称为z 变量,x 和y 数据也可用于z 的所有值。一个简单的数据框如下所示:
请忽略重复的常见 x 和 y,因为我已经截断了小数。数据大约有 25000 行。
方法:我首先使用 akima 包对给定的x 和y 插入z 变量值以在二维中映射z。这使得z 列数据适合用于二维绘图和显示轮廓的 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")
需要帮助: 将实际结果图的边缘细化为与预期结果图像非常匹配的东西。
非常感谢您的 cmets 和帮助。
【问题讨论】: