将字符串从Spotfire中的文档属性下拉列表传递到R脚本

时间:2018-09-11 13:29:29

标签: r spotfire

我在Spotfire中使用R脚本来绘制地球化学数据的等高线图,如下所述。

我想做的是使用户能够从表标题的下拉列表中更改interp函数中的z = SiO2,以更改元素,例如z = Al 2 O 3。我已经在文本区域中创建了表头的下拉列表,并创建了一个文档属性作为该下拉列表中脚本的输入。我不知道的是如何将该输入参数传递到R脚本的语法。

感谢任何想法

    library(RinR)
    library (reshape2)
    library (akima)
    library (ggrepel)
    library (rgdal)



fld <- with(ECave, interp(x = Longitude, y = Latitude, z = SiO2 ))

df <- melt(fld$z, na.rm = TRUE)
names(df) <- c("x", "y", "element")
df$Lon <- fld$x[df$x]
df$Lat <- fld$y[df$y]

DenMapSq <- RGraph(print
                (

   ggplot(data = df, aes(x = Lon, y = Lat, z = element)) +
         geom_tile(aes(fill = element)) +
     geom_point(aes ( x = Longitude, y = Latitude), data = ECave, inherit.aes = FALSE)+
     geom_text_repel(data = ECave,mapping=aes(x=Longitude, y=Latitude,label=ECave$Well),
                     size=2.5, box.padding = unit(0.5, "lines"), inherit.aes = FALSE)+
     stat_contour() +
     ggtitle("element map") +
     xlab("Longitude") +
     ylab("Latitude") +
     scale_fill_continuous(name = "element (%)",
                           type = 'viridis') +
     theme(plot.title = element_text(size = 25, face = "bold"),
          legend.title = element_text(size = 15),
           axis.text = element_text(size = 15),
           axis.title.x = element_text(size = 20, vjust = -0.5),
           axis.title.y = element_text(size = 20, vjust = 0.2),
           legend.text = element_text(size = 10))


                                ),
                        packages=c('ggrepel','akima','reshape2','ggplot2'),data=c('fld','df','ECave')

            )   

1 个答案:

答案 0 :(得分:0)

如果您已将document属性正确地添加为脚本的输入,则只需在R脚本中引用它即可。例如,如果我的输入文档属性为input1,我将在r中编写以下代码,以将其分配给可以在r中使用的变量: inputDocProp <- input1

为了正确设置此参数,请在此屏幕(脚本屏幕)上定义输入参数:

enter image description here

然后在此屏幕(参数屏幕)上设置参数和文档属性之间的关系:

enter image description here

假设您正确执行此操作,则可以从doc prop输入字段中进行读取,如上所述。每次文档道具更改时,R脚本也应自动运行。