首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高级图表/打字稿:如何使用scatter3d旋转?

高级图表/打字稿:如何使用scatter3d旋转?
EN

Stack Overflow用户
提问于 2019-03-12 15:18:27
回答 1查看 524关注 0票数 2

所以我在一个import * as Highcharts from 'highcharts'文件中包含了chart: any ,而不是.js文件。

该图表是一个scatter3d (三维)。我想让它旋转。在JavaScript中,它通过使用

代码语言:javascript
复制
(function(H) {
  function dragStart(eStart) {
    eStart = chart.pointer.normalize(eStart);

    var posX = eStart.chartX,
      posY = eStart.chartY,
      alpha = chart.options.chart.options3d.alpha,
      beta = chart.options.chart.options3d.beta,
      sensitivity = 5, // lower is more sensitive
      handlers = [];

    function drag(e) {
      // Get e.chartX and e.chartY
      e = chart.pointer.normalize(e);

      chart.update({
        chart: {
          options3d: {
            alpha: alpha + (e.chartY - posY) / sensitivity,
            beta: beta + (posX - e.chartX) / sensitivity
          }
        }
      }, undefined, undefined, false);
    }

    function unbindAll() {
      handlers.forEach(function(unbind) {
        if (unbind) {
          unbind();
        }
      });
      handlers.length = 0;
    }

    handlers.push(H.addEvent(document, 'mousemove', drag));
    handlers.push(H.addEvent(document, 'touchmove', drag));


    handlers.push(H.addEvent(document, 'mouseup', unbindAll));
    handlers.push(H.addEvent(document, 'touchend', unbindAll));
  }
  H.addEvent(chart.container, 'mousedown', dragStart);
  H.addEvent(chart.container, 'touchstart', dragStart);
}(Highcharts));

如下面的官方演示所示:scatter3d演示

但这在打字稿中行不通。我如何重写这个使scatter3d图表可以旋转?

EN

回答 1

Stack Overflow用户

发布于 2019-03-13 10:21:25

您必须像这样加载和初始化highcharts-3d模块:

代码语言:javascript
复制
import * as Highcharts from "highcharts/highcharts";
import * as Highcharts3d from "highcharts/highcharts-3d";

Highcharts3d(Highcharts);

要使其可旋转,只需在图表加载后添加此功能,例如使用图表回调。

查看下面发布的演示,并以一个使用highcharts-angular (官方高级图表包装)的角度应用程序为例。它可以在这里下载:https://github.com/highcharts/highcharts-angular

演示(在图表呈现错误时重新加载视图-代码框问题):

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55124985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档