【发布时间】:2017-01-23 13:20:33
【问题描述】:
我使用一个函数在 R 中绘图,因为这是用于绘图的相当大的代码(六边形等)。为了简洁的代码,我把它放在一个函数中。
它是关于 SOM 算法的,目前这并不重要,但我创建了我需要的数据,然后我通常使用以下代码绘制它:
mydata <- som_model$codes
var <- 1
title <- names(som_model$data)[var]
dataplot <- matrix(mydata[,var],nrow=gridsize,ncol=gridsize,byrow=TRUE)
source('plotHexMap.R')
plotHexMap(dataplot,title,gridsize)
所以现在我想在 Shiny 中执行此操作:
observe({
if(input$plottrained>0){
var <- 1
title <- names(som_model$data)[var]
dataplot<-matrix(mydata[,var],nrow=gridsize,ncol=gridsize,byrow=TRUE)
source("plotHexMap.R")
output$plot1 <-renderPlot({plotHexMap(dataplot,title,gridsize)})
}
})
好的,所以这不起作用,但是当我将绘图写入全局变量(使用
observe({
if(input$plottrained>0){
var <- 1
title <- names(som_model$data)[var]
dataplot<-matrix(mydata[,var],nrow=gridsize,ncol=gridsize,byrow=TRUE)
source("plotHexMap.R")
plot1 <<-renderPlot({plotHexMap(dataplot,title,gridsize)})
}
})
我在这里缺少什么?正常的 R 环境不需要从函数中绘制这个,闪亮需要什么?
非常感谢您对此的任何帮助!提前致谢,
彼得
【问题讨论】: