如何修改highcharter htmlwidget代码

问题描述 投票:1回答:1

我想改变R中高级图的核心代码(要求来自this post)。我想更改R中highcharts的核心代码,因为我知道如何在javascript中修改它:

(function(H) {
  (...)

  H.seriesTypes.column.prototype.translate3dShapes = function() {
      (...)    

        point.shapeType = 'cuboid';
        shapeArgs.z = z;
        shapeArgs.depth = point.options.depth; // changed from: shapeArgs.depth = depth;
        shapeArgs.insidePlotArea = true;

      (...) 
  };

})(Highcharts);

使用js_typeof或这些解决方案调用此代码不再有用。

问题是*如何更改R中高级图的核心代码

r r-highcharter
1个回答
0
投票

您可以使用以下命令创建自定义高保真小部件:

  • 首先,您可以使用highcharter::highchartzero()创建最小的小部件。此自定义小部件仅加载highcharts.js。
  • 然后使用highcharter::hc_add_dependency("highcharts-3d.js")添加highcharts3d
  • 最后,您可以使用htmltools::htmlDependency函数将js作为依赖项添加到窗口小部件(内部hc_add_dependency使用此函数)

代码将类似于(未经测试):

hc <- highcharter::highchartzero() %>% 
  highcharter::hc_add_dependency("highcharts-3d.js")

hc # see the source code and see only highcharts and highcharts-3d is loaded.

# adding depedency
dep <- htmlDependency(
    name = "change-depth",
    version = "1.0.0",
    src = "the/folder/", # absolute path I think!
    script = "your_js_script.js"
  )

hc$dependencies <- c(hc$dependencies, list(dep))

hc # see the source again

hc %>% hc_add_series(...) # add the data
© www.soinside.com 2019 - 2024. All rights reserved.