使用 ggplot 将 Spotfire Rgraphs 转换为 table

Spotfire Rgraphs to table using ggplot

几天来我一直在尝试让 Spotfire 创建一个 table 图表,然后我可以使用标签将其绘制在地图上。我有以下脚本,适用于基本 R hist() 图,但是当我将其更改为 ggplot 以创建我需要的图表时,出现以下错误

重估错误(bquote({ .(Rfunction)(.(file), width = .(width : Error : data 必须是数据框,或其他可被 fortify() 强制转换的对象,而不是数字向量

我需要做什么才能让 ggplot 在此脚本中工作(如果可以的话?)看起来 split 函数正在创建 ggplot 无法使用的数据?

library( RinR )

irisFrameSplit <- split( iris$Sepal.Width, iris$Species )

irisGraphsList <- 
  lapply( 
    X = irisFrameSplit,   
    FUN = function(X) 
      RGraph(
        data = list( X = X ),
        height = 680,
        width  = 680,
        package = 'ggplot2',
        expr =
        {

        hist(X, col = 'red')
        #ggplot(X, aes(x=Sepal.Width)) + geom_histogram()


        } ) )

irisGraphsDF <-
  data.frame(
    Species = names( irisGraphsList ),
    PlotImage = seq( along = irisGraphsList ),
    stringsAsFactors = FALSE )

irisGraphsDF[["PlotImage"]] <- irisGraphsList

非常感谢您的帮助

只需要在脚本中添加一条打印语句,使用ggplot(所以必须使用print()来绘制)。由于 xyplot() 包含数据参数,因此 RGraph 不会尝试发送在其公式参数中命名的向量。

print(

    ggplot(X, aes(x = Petal.Width, )) + geom_histogram())