如何添加到chart.js(圆环图)的链接?

2024-02-23

我想添加指向圆环图的链接,以便能够向用户发送包含通过单击的选项过滤的记录的页面。

例如here http://www.chartjs.org/docs/#doughnut-pie-chart-introduction,如果用户单击“绿色”,我想将用户发送到一个显示所有“绿色”记录的页面。

我没有找到一个简单的方法来做到这一点,并尝试了类似的方法,但还不起作用:

(我添加了一个属性“filter”和“id”,我需要过滤它)

var data = [
  {
    value: 300,
    color:"#F7464A",
    highlight: "#FF5A5E",
    label: "Red",
    filter: 1
  },
  {
    value: 50,
    color: "#46BFBD",
    highlight: "#5AD3D1",
    label: "Green",
    filter: 2
  },
  {
    value: 100,
    color: "#FDB45C",
    highlight: "#FFC870",
    label: "Yellow",
    filter: 3
  }
]

$(document).ready(
    function () {
        $("#chart").click(
            function(evt){
                var activePoints = chart.getSegmentsAtEvent(evt);
                var url = "http://example.com/?grid[f][collor][]=" + activePoints[0].filter
                alert(url);
            }
        );
    }
);

我无法使用“activePoints[0].filter”获取属性“filter”

谢谢。


在 JSON 中添加自定义属性可能是 v2 路线图上的一项功能(https://github.com/nnnick/Chart.js/issues/1185 https://github.com/nnnick/Chart.js/issues/1185)。就目前而言,您可以在 javascript 中添加属性,执行如下操作:

var segments = chart.segments;
for (var i = 0; i < segments.length; i++) {
  segments[i].filter = i+1;
}

这是一个 jsfiddle,在 url 中加载了 filter/id 属性(http://jsfiddle.net/tcy74pcc/1/ http://jsfiddle.net/tcy74pcc/1/):

如果您想使用基于点而不是线段的图表来执行此操作,请参阅以下帖子,其中提供了类似的线条解决方案:在 Chart.js 的工具提示中显示自定义数据集属性 https://stackoverflow.com/questions/29176778/displaying-custom-dataset-properties-in-tooltip-in-chart-js

希望有帮助。祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何添加到chart.js(圆环图)的链接? 的相关文章

随机推荐