Highcharts - 当饼图在悬停时移动时,如何在每个饼图内移动图标?

西米丹达

我有一个饼图,它有一个图标(定义类和定位的 html 标签)。当您将鼠标悬停在每个饼图切片上时,切片正确移出但图标固定在该位置。有没有办法移动图标?

这是显示初始系列代码:

series: [{
  type: 'pie',
  color: '#FFFFFF',
  data: [{
    name: '<h3>Scheduling</h3>',
    y: 60,
    icon: '<i class="fa fa-book" style="cursor:pointer;font-size:80px;margin:-20px;"></i>'
  }]
}]

摩根弗里

您需要移动悬停点上的数据标签 - 可以从中抓取移动的 x、y point.slicedTranslation

示例:https : //jsfiddle.net/036j2uLs/

在鼠标悬停时,您需要在与切片相同的方向上为该点设置动画。

         mouseOver: function(event) {
        var point = this;

        if (!point.selected) {
          timeout = setTimeout(function() {
            const label = point.dataLabel;
            point.firePointEvent('click');

            point.series.points.forEach(point => {
              const label = point.dataLabel;
              if (label.sliced) {
                label.animate({
                  x: label.originX,
                  y: label.originY
                });
                label.sliced = false;
              }
            });

            if (!label.sliced) {
              const {
                translateX: tx,
                translateY: ty
              } = point.slicedTranslation;

              label.animate({
                x: label.originX + tx,
                y: label.originY + ty
              });
              label.sliced = true;
            }

            chart.tooltip.shared = false;
            chart.tooltip.refresh(point);
          }, 0);
        }
      }
    }

在加载/重绘时记录原始数据标签位置:

function setLabelOrigins() {
  this.series[0].points.forEach(point => {
    const label = point.dataLabel;
    label.originX = label.x;
    label.originY = label.y;
  });
}

var chart = new Highcharts.Chart({
  chart: {
    renderTo: 'modules',
    plotBackgroundColor: null,
    plotBorderWidth: null,
    plotShadow: false,
    type: 'pie',
    backgroundColor: "transparent",
    events: {
      load: setLabelOrigins,
      redraw: setLabelOrigins
    }
  },

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Highcharts - 如何在悬停时将工具提示置于每个饼图切片上的图标后面?

来自分类Dev

Highcharts饼图在空时显示轮廓

来自分类Dev

Highcharts饼形图显示为空时的轮廓

来自分类Dev

如何使用highcharts显示多个饼图

来自分类Dev

Highcharts饼图:如何忽略禁用的图例项目

来自分类Dev

如何使用json数据作为highcharts饼图?

来自分类Dev

如何将数据对象推送到Highcharts饼图

来自分类Dev

Highcharts:如何对齐饼图的文本标签中间中心

来自分类Dev

Highcharts饼图渲染与图例冲突

来自分类Dev

Highcharts动态更新饼图mysql

来自分类Dev

Highcharts饼图绘制不同的值

来自分类Dev

highcharts-ng未显示饼图

来自分类Dev

HighCharts:饼图需要背景图像

来自分类Dev

Highcharts饼图关闭数据标签

来自分类Dev

从highcharts中的数组绘制饼图

来自分类Dev

Symfony3 Highcharts 饼图空白

来自分类Dev

Highcharts 饼图动画:禁用缩放

来自分类Dev

创建图表时为Highcharts饼图禁用切片

来自分类Dev

如何在Highcharts中将HTML表格中的每一行做成饼图?

来自分类Dev

Highcharts饼图。如何在两行中设置标签

来自分类Dev

如何在Highcharts中将HTML表格中的每一行做成饼图?

来自分类Dev

HighCharts在加载时移动屏幕位置

来自分类Dev

如何在Highcharts饼图中动态设置标题

来自分类Dev

如何在Highcharts中启用/禁用饼图中的部分

来自分类Dev

如何从HighCharts饼图中删除白色边框?

来自分类Dev

HighCharts饼图中的值总计

来自分类Dev

Highcharts 将柱状图转换为饼图

来自分类Dev

我可以使用Highcharts为每个饼图切片分配不同的半径吗?

来自分类Dev

Highcharts 饼图标签勾勒出使用样式模式的缺失

Related 相关文章

热门标签

归档