【问题标题】:Defining outer edge of filled 2d Contour plot in plotly在 plotly 中定义填充的二维等高线图的外边缘
【发布时间】:2018-07-02 14:18:17
【问题描述】:

问题:我正在尝试使用 plotly 在 R 中重现圆形填充的 2d 等高线图(也尝试过 ggplot2,但 plotly 似乎更容易)。

数据:示例数据下载链接 - https://drive.google.com/file/d/10Mr5yWVReQckPI6TKLY_vzPT8zWiijKl/view?usp=sharing

要为等高线绘制的数据采用列格式,通常称为z 变量,xy 数据也可用于z 的所有值。一个简单的数据框如下所示:

请忽略重复的常见 x 和 y,因为我已经截断了小数。数据大约有 25000 行。

方法:我首先使用 akima 包对给定的xy 插入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 和帮助。

【问题讨论】:

    标签: r plotly contour r-plotly


    【解决方案1】:

    我发现我可以在函数中使用nxny 输入将网格输出akima::interp() 从默认的40x40 增加到自定义的akima::interp()

    然后在plot_ly() 中添加contours = list(coloring = 'fill', showlines = FALSE) 以隐藏轮廓线以使输出接近我的预期结果。

    所以工作代码是这样的:

    dens <- akima::interp(x = dt$`Xvalue(mm)`, 
                  y = dt$`Yvalue(mm)`, 
                  z = dt$Values, 
                  nx = 50, 
                  ny = 50,
                  duplicate = "mean",
                  xo=seq(min(dt$`Xvalue(mm)`), max(dt$`Xvalue(mm)`), length = 50),
                  yo=seq(min(dt$`Yvalue(mm)`), max(dt$`Yvalue(mm)`), length = 50))
    
    plot_ly(x = dens$x, 
      y = dens$y, 
      z = dens$z, 
      colors = c("blue","grey","red"), 
      type = "contour",
      contours = list(coloring = 'fill', showlines = FALSE))
    

    Plotly 等高线图参考在这种情况下非常有用: https://plot.ly/r/reference/#contour

    【讨论】:

      猜你喜欢
      • 2013-06-11
      • 2019-03-22
      • 1970-01-01
      • 1970-01-01
      • 2014-01-25
      • 2022-11-14
      • 1970-01-01
      • 2017-09-10
      • 2015-01-17
      相关资源
      最近更新 更多