【问题标题】:R: Point On Graph Does Not Appear in DataR:图上的点未出现在数据中
【发布时间】:2021-10-01 12:20:01
【问题描述】:

我正在使用 R 编程语言。我定义了一个函数,在不同的点评估了这个函数并创建了这个函数的图表:

library(plotly)
library(dplyr)
set.seed(123)

#create grid and evaluate function
input_1 <- seq(0,100,1)
input_2 <- seq(0,100,1)
input_3 <- seq(0,100,1)
input_4 <- seq(0,100,1)

my_grid <- data.frame(input_1, input_2, input_3, input_4)
my_grid$final_value = sin(input_1) + cos(input_2) + input_3 + input_4

plot_ly() %>% 
        add_trace(data = my_grid,  x=my_grid$input_1, y=my_grid$input_2, z=my_grid$input_3, type='mesh3d') %>%
        add_surface(
                z = my_grid %>% as.matrix(),
                surfacecolor = my_grid,
                cauto=F,
                cmax=max(my_grid$final_value),
                cmin=min(my_grid$final_value)
        )


         

问题: 在上面的这个情节中,我的印象是x = input_1, y = input_2, z = input_3,情节的颜色是根据“final_value”。我在 (4,100, 200.356) 的图表上突出显示了一个点。但是,如果您查看用于创建此图的数据 ("my_grid"),则数据中没有这样的点。

问题:有人可以解释一下吗?还是我对此有误解?是否可以更改“悬停文本”,以便对于该图上的任何点,它清楚地显示“input_1、input_2、input_3 和 final_value”的值?有人可以帮我澄清一下吗?

谢谢

【问题讨论】:

    标签: r plot 3d plotly data-visualization


    【解决方案1】:

    让我们my_grid %&gt;% tail() 看看会发生什么,

        input_1 input_2 input_3 input_4 final_value
    96       95      95      95      95    191.4134
    97       96      96      96      96    192.8032
    98       97      97      97      97    193.4545
    99       98      98      98      98    194.6073
    100      99      99      99      99    197.0406
    101     100     100     100     100    200.3560
    

    最后一个observation(100,4,200.3560),所以它确实存在。

    【讨论】:

    • 感谢您的回复!但我没有看到数字“4”?
    • 我想我有点快!在这一点上,老实说,我有点无能为力。我什至无法使用您的data 复制plotly.com/r/3d-mesh。我现在就敲出来!
    • 但似乎随着您的绘图,x 轴已标准化。但是在上面的链接中,相似的却不是。
    • 是的 - 我以为我有答案了......对不起!当您找到解决方案时,请发布答案!我比较好奇! :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多