Highcharts 3D与rCharts

Highcharts 3D与rCharts,r,highcharts,3d,rcharts,R,Highcharts,3d,Rcharts,Highcharts 3D与rCharts 可以让rCharts与Highcharts的3D模块一起工作吗?下面是Highcharts 3D的一个示例: 错误 下面我的示例代码出现的错误是: Error in envRefInferField(x, what, getClass(class(x)), selfEnv) : ‘zAxis’ is not a valid field or method name for reference class “Highcharts” 示例代码 下面是我

Highcharts 3D与rCharts

可以让rCharts与Highcharts的3D模块一起工作吗?下面是Highcharts 3D的一个示例:

错误 下面我的示例代码出现的错误是:

Error in envRefInferField(x, what, getClass(class(x)), selfEnv) : ‘zAxis’ is not a valid field or method name for reference class “Highcharts”
示例代码 下面是我正在使用的示例代码:

library(rCharts)

# Based on example from: http://jsfiddle.net/highcharts/V37Vv/light/
plotData <- data.frame(x = c(1,1,1,2,2,4,4,7,7,8), 
                       y = c(1,1,1,3,6,5,2,1,1,1), 
                       z = c(1,2,5,2,4,7,8,3,5,5), 
                       category=rep(c("A", "B"), 5), stringsAsFactors=FALSE)

xLabel <- "X" 
yLabel <- "Y" 
zLabel <- "Z" 
title <- "Title"

if (is.null(rownames(plotData))){
    rownames(plotData) <- as.character(1:nrow(plotData))
}

# HighCharts point name
plotData$name <- rownames(plotData)

# Scatter plot
h1 <- rCharts::Highcharts$new()
h1$setLib("libraries/widgets/highcharts")

h1$chart(renderTo="container",
         margin=c(150, 75, 75, 75),
         type='scatter',
         options3d=list(enabled=TRUE,
                        alpha=20,
                        beta=30,
                        depth=200))

h1$title(text=title)
h1$xAxis(title=list(enabled=TRUE, text=xLabel))
h1$yAxis(title=list(enabled=TRUE, text=yLabel))
h1$zAxis(title=list(enabled=TRUE, text=zLabel))

# Divide the dataset, split by category and put into list() format
# From: http://rcharts.io/viewer/?5735146#.VF6NS4W1Fy4
series <- lapply(split(plotData, plotData$category), function(x) {
    res <- lapply(split(x, rownames(x)), as.list)
    names(res) <- NULL
    return(res)
})

invisible(sapply(series, function(x) {
    h1$series(data=x, type="scatter", name=x[[1]]$category)
}
))

h1$legend(enabled=FALSE)

# Force circle markers and change size
h1$plotOptions(scatter=list(marker=list(symbol='circle', radius=6)))

h1$tooltip(formatter = "#! function() { return this.point.name + ', ' + 
           this.series.name + ', ' + this.x + ', ' + this.y; } !#")

# Enable exporting
h1$exporting(enabled=TRUE)

# Set name
h1$set(dom=xLabel)

# Print chart
print(h1)
#h1$show("inline")
js/文件夹 js/文件夹包含config.yml中引用的文件

布局/文件夹 布局/文件夹包含chart.html

chart.html

(函数($){
$(函数(){
var chart=newhighcharts.chart({{{{chartParams}}}});
});
})(jQuery);

我认为rCharts中没有3D图表,因此z轴不存在错误

相反,您必须使用基于Ramnathv的包,该包也适用于Rmarkdown和Shining

devtools::install_github("ramnathv/htmlwidgets")
devtools::install_github("bwlewis/rthreejs")

libs <- c("htmlwidgets", "threejs")
lapply(libs, library, character.only=TRUE)
devtools::install\u github(“ramnathv/htmlwidgets”)
devtools::install_github(“bwlevis/rthreejs”)

libs现在有另一个highcharts R包装器,包括3d模块。这里的示例:

代码

数据(citytemp)
hc%
hc_xAxis(类别=citytemp$月)%>%
hc_添加_系列(name=“Tokyo”,data=citytemp$Tokyo)%>%
hc\U add\u系列(name=“London”,data=citytemp$London)%>%
hc_添加_系列(name=“其他城市”,
数据=(东京市议会大厦$tokyo+伦敦市议会大厦$london)/2)%
hc\U图表(type=“column”,
选项3D=列表(启用=真,β=15,α=15))
hc

从中可以看出,不支持-zAxis。尝试删除:
h1$zAxis(title=list(enabled=TRUE,text=zLabel))
line。可能您无法更改zAxis,但图表仍能正常工作。注释掉该线条会生成2D绘图,而这不是预期的结果。那么rCharts lib可能不支持3D Highcharts。您是否已生成Highcharts代码/选项?检查哪里可能有问题。
<script type='text/javascript'>
    (function($){
        $(function () {
            var chart = new Highcharts.Chart({{{ chartParams }}});
        });
    })(jQuery);
</script>
devtools::install_github("ramnathv/htmlwidgets")
devtools::install_github("bwlewis/rthreejs")

libs <- c("htmlwidgets", "threejs")
lapply(libs, library, character.only=TRUE)
data(citytemp)

hc <- highchart() %>% 
  hc_xAxis(categories = citytemp$month) %>% 
  hc_add_series(name = "Tokyo", data = citytemp$tokyo) %>% 
  hc_add_series(name = "London", data = citytemp$london) %>% 
  hc_add_series(name = "Other city",
                data = (citytemp$tokyo + citytemp$london)/2)  %>% 
  hc_chart(type = "column",
           options3d = list(enabled = TRUE, beta = 15, alpha = 15))

hc