【问题标题】:How can i add additional Data(Type) to chart.js我如何向 chart.js 添加额外的数据(类型)
【发布时间】:2015-08-12 18:28:07
【问题描述】:

我已经通过添加以下代码为我的圆环图的每个段添加了一个点击处理程序:

$("#myChart").click( 
function(evt){
var activePoints = myNewChart.getSegmentsAtEvent(evt);
var chartelementid = activePoints[0].label;
alert(chartelementid);
//$('.details div').css("display", "none");
//$('#' + chartelementid).show();
}
);

这很好用,完成后它应该显示一个带有此段详细信息的附加 div。 不幸的是,我的标签不仅仅是单个单词,所以我正在努力创建具有相同名称的 div ID...

我的想法是为每个细分添加一个额外的数据,如值、标签等,因此它可以是一个 ID。但如果我只是将 ID 信息添加到 Segment,它将不会作为变量存在。

添加数据类型:

var dataImprove = [   
{
value: 30,
color:"#001155",
highlight: "#1c2f7c",
label: "KnowHow Erhalt / Transfer & Aufbau",
id:"test"
}
]

我在哪里可以在 chart.js 中添加一个额外的数据类型,如上面我的 ID 所示,以便在 DOM 中访问?

亲切的问候马可

【问题讨论】:

  • 已经找到:在绘图前在 chart.js 中的第 999 行和第 1023 行之间 - 我添加了行 id: ChartElements[0].id,

标签: chart.js


【解决方案1】:

作为替代方法,传递一个 JSON 字符串作为您的标签,然后拦截以呈现。例如:

    var canvas = document.getElementById(id);
    var d = canvas.getContext("2d");
    var chart = new Chart(d).Pie(json, {
        segmentStrokeWidth: 1,
        tooltipTemplate: "<%=label%>", //default the label
        customTooltips: function (tooltip) {

            // Hide if no tooltip
            if (!tooltip) {
                return;
            }
            var tooltipObj = JSON.parse(tooltip.text);
            // etc

【讨论】:

    【解决方案2】:

    已经找到:在绘图前 chart.js 的第 999 行和第 1023 行之间 - 我已经添加了该行

    id: ChartElements[0].id,

    所以名称为 ID 的数据在可用的 DOM 中。

    【讨论】:

      猜你喜欢
      • 2012-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-20
      相关资源
      最近更新 更多