Chart.js - 甜甜圈显示活动段工具提示(点击外部按钮)

AJB
// ignore this comment - required to post the following jsfiddle.net link!

请参阅https://jsfiddle.net/68bf25vh/

如果单击甜甜圈段,则会显示相应的工具提示,这是正确的功能。

问题是当用户单击甜甜圈下方的按钮之一时会触发此所需的功能。例如,当用户单击“触发段 1 单击”按钮时。工具提示应显示在第 1 段上方(就像用户单击了第 1 段一样)。

一个额外的好处是工具提示最初也显示在第 1 段上方,但不是必需的。

非常感谢任何帮助:)

请注意

使用 Chart.js v 2.5.0。我读过一些建议使用 showTooltip() 方法的文章,例如 chart.showTooltip([chart.segments[0]], true); 不幸的是,此版本中不存在此方法。

找到了这个https://stackoverflow.com/a/37989832,但这会显示所有工具提示。只想显示活动(当前)段的工具提示。

ɢʀᴜɴᴛ

单击外部按钮时,您可以使用以下功能显示相应的工具提示:

function showTooltip(chart, index) {
   var segment = chart.getDatasetMeta(0).data[index];
   chart.tooltip._active = [segment];
   chart.tooltip.update();
   chart.draw();
}

调用该函数时,分别将 chart-instance 和 button-index 作为第一个和第二个参数传递。

奖金 :

要最初显示 segment-1 的工具提示,请在图表选项中添加以下配置:

animation: {
   onComplete: function() {
      if (!isChartRendered) {
         showTooltip(myChart, 0);
         isChartRendered = true;
      }
   }
}

* 声明一个isChartRendered在全局范围内命名的变量并将其设置为false

xᴀᴍᴘʟᴇ

var isChartRendered = false;
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
   type: 'doughnut',
   data: {
      labels: ['Segment 1', 'Segment 2', 'Segment 3'],
      datasets: [{
         data: [10, 10, 10]
      }]
   },
   options: {
      events: ['click'],
      cutoutPercentage: 70,
      legend: {
         display: false
      },
      tooltips: {
         displayColors: false
      },
      onClick: function(evt, elements) {},
      // BONUS: show segment 1 tooltip initially
      animation: {
         onComplete: function() {
            if (!isChartRendered) {
               showTooltip(myChart, 0);
               isChartRendered = true;
            }
         }
      }
   }
});

$(document).on('click', 'button', function() {
   var $this = $(this),
       index = $this.index();
   showTooltip(myChart, index);
});

function showTooltip(chart, index) {
   var segment = chart.getDatasetMeta(0).data[index];
   chart.tooltip._active = [segment];
   chart.tooltip.update();
   chart.draw();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="width:400px;height:400px;">
   <canvas id="myChart"></canvas>
</div>

<div style="margin-top:50px;">
   <button>Trigger Segment 1 Click</button>
   <button>Trigger Segment 2 Click</button>
   <button>Trigger Segment 3 Click</button>
</div>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Chart.js使用文本工具提示问题扩展了甜甜圈

来自分类Dev

Chart.js 2.0甜甜圈工具提示百分比

来自分类Dev

如何在Chart.js中的甜甜圈图上显示标签

来自分类Dev

甜甜圈Chart.JS中是否有办法显示100%

来自分类Dev

如何在Chart.js甜甜圈图上显示第二组标签?

来自分类Dev

Chart.JS:当甜甜圈大小足以容纳文本时,如何仅显示数据标签?

来自分类Dev

带有圆角的Chart.js甜甜圈

来自分类Dev

Chart.js甜甜圈图无法正常工作

来自分类Dev

Chart.js设置甜甜圈背景色?

来自分类Dev

Chart.js甜甜圈文本颜色

来自分类Dev

Chart.js v2:甜甜圈内甜甜圈之间的空间

来自分类Dev

Chart.js工具提示未显示

来自分类Dev

圆角边缘和文本居中的Chart.js甜甜圈

来自分类Dev

具有最小高度的响应式Chart.js甜甜圈图

来自分类Dev

如何更改chart.js甜甜圈图上的鼠标光标?

来自分类Dev

使用Chart.js-为甜甜圈图创建图例

来自分类Dev

使用chart.js在甜甜圈图中心进行事件处理程序

来自分类Dev

如何添加到chart.js(甜甜圈图)的链接?

来自分类Dev

如何使用Chart.js在甜甜圈图的中心添加文本?

来自分类Dev

在Chart.js甜甜圈图上检测onHover是否完成

来自分类Dev

在混合图表中Chart.js不同的甜甜圈厚度

来自分类Dev

如何在Chart.js的甜甜圈图中使用径向CanvasGradients?

来自分类Dev

如何在Chart.js的甜甜圈图中使用径向CanvasGradients?

来自分类Dev

如何在Chart.JS的半个甜甜圈图中添加一些文本?

来自分类Dev

通过chart.js在多系列甜甜圈图中添加标签

来自分类Dev

Chart.js:甜甜圈中间的千位分隔符和标题

来自分类Dev

Chart.js甜甜圈动画/顺时针绘制

来自分类Dev

Javascript和Chart.JS-在3个甜甜圈孔图中获得唯一文本的问题-为所有3个甜甜圈孔显示相同的文本

来自分类Dev

在dimple.js中自定义甜甜圈图的工具提示

Related 相关文章

  1. 1

    Chart.js使用文本工具提示问题扩展了甜甜圈

  2. 2

    Chart.js 2.0甜甜圈工具提示百分比

  3. 3

    如何在Chart.js中的甜甜圈图上显示标签

  4. 4

    甜甜圈Chart.JS中是否有办法显示100%

  5. 5

    如何在Chart.js甜甜圈图上显示第二组标签?

  6. 6

    Chart.JS:当甜甜圈大小足以容纳文本时,如何仅显示数据标签?

  7. 7

    带有圆角的Chart.js甜甜圈

  8. 8

    Chart.js甜甜圈图无法正常工作

  9. 9

    Chart.js设置甜甜圈背景色?

  10. 10

    Chart.js甜甜圈文本颜色

  11. 11

    Chart.js v2:甜甜圈内甜甜圈之间的空间

  12. 12

    Chart.js工具提示未显示

  13. 13

    圆角边缘和文本居中的Chart.js甜甜圈

  14. 14

    具有最小高度的响应式Chart.js甜甜圈图

  15. 15

    如何更改chart.js甜甜圈图上的鼠标光标?

  16. 16

    使用Chart.js-为甜甜圈图创建图例

  17. 17

    使用chart.js在甜甜圈图中心进行事件处理程序

  18. 18

    如何添加到chart.js(甜甜圈图)的链接?

  19. 19

    如何使用Chart.js在甜甜圈图的中心添加文本?

  20. 20

    在Chart.js甜甜圈图上检测onHover是否完成

  21. 21

    在混合图表中Chart.js不同的甜甜圈厚度

  22. 22

    如何在Chart.js的甜甜圈图中使用径向CanvasGradients?

  23. 23

    如何在Chart.js的甜甜圈图中使用径向CanvasGradients?

  24. 24

    如何在Chart.JS的半个甜甜圈图中添加一些文本?

  25. 25

    通过chart.js在多系列甜甜圈图中添加标签

  26. 26

    Chart.js:甜甜圈中间的千位分隔符和标题

  27. 27

    Chart.js甜甜圈动画/顺时针绘制

  28. 28

    Javascript和Chart.JS-在3个甜甜圈孔图中获得唯一文本的问题-为所有3个甜甜圈孔显示相同的文本

  29. 29

    在dimple.js中自定义甜甜圈图的工具提示

热门标签

归档