从C3JS中的单击节点获取所有数据

时间:2016-01-08 12:26:30

标签: d3.js c3.js

单击时如何从节点获取所有数据?现在我只得到x和值。

如何从用于绘制图形的JSON数据对象中获取所有值?

var chart_scatterplot = c3.generate({tooltip: {
contents: function(d, defaultTitleFormat, defaultValueFormat, color) {

  var company = jsonfile[d[0].index].company;
  var mailCount = jsonfile[d[0].index].mailCount;
  var lastInteractedInDays = jsonfile[d[0].index].lastInteractedInDays;

  var companyData = "<table class='data-c3-table'><tr><td>" + company + "</td></tr><tr><td>" + mailCount + "</td></tr><tr><td>" + lastInteractedInDays + "</td></tr></table>"
  return companyData;
  //return (company+mailCount+lastInteractedInDays) // formatted html as youmailCount want
}},
point: {r: 7},

data: {
json: jsonfile,
x: 'mailCount',
keys: {
  value: ['mailCount', 'lastInteractedInDays'],
},
color: function(color, d) {
  if (d.value > average) {
    return "#F86A52"
  } else {
    return "#49B5A6"
  };
},
type: 'scatter',
onclick: function(d) {
  abc(d);
}
  },axis: {
x: {
  label: 'Interactions',
  tick: {
    fit: false
  }
},
y: {
  label: 'Days'
}},legend: {
show: false}});
var abc = function(v) {console.log("hello" + JSON.stringify(v));}

附件是一个小提琴 - https://jsfiddle.net/npmarkunda/eqfyeeh1/

1 个答案:

答案 0 :(得分:1)

这将为您提供与点击节点相关联的完整数据。

onclick: function(d) {
  console.log(jsonfile[d.index]);//will console. the clicked node's data.
}

工作代码here