在C3js上,当你将鼠标悬停在条形图上时,如何在条形图上显示工具提示显示该条形图的数据?

时间:2016-12-13 00:54:25

标签: javascript jquery c3.js

我使用C3.js和一些JSON数据得到以下图表。如何让工具提示显示每个单独栏的数据,而不是桌面上的所有栏数据?

var chart = [
 {'0-9': 249.8740575482693,
   '10-19': 238.2744788358169,
   '20-29': 369.10362988529357,
   '30-39': 156.9635033529556,
   '40-49': 266.00448275832673,
   '50-59': 283.5138392550998,
   '60-69': 211.16877917295733,
   '70-79': 154.08326897057742,
   '80+': 148.8063871481496},
]

chart = c3.generate({
 bindto: '#chart',
 data: {
    json: chart,
    keys: {
        value: ['0-9', '10-19', '20-29', '30-39', '40-49', '50-59', '60-69', '70-79', '80+']
    },
    type: 'bar'
},
color: {
    pattern: ['#E39920', '#53B5B5', '#CD249A', '#F56223', '#6FAAD6','#A33E54', '#27668D','#75AB36', '#6E37B6']
  },
  tooltip: {
    format: {
        title: function (d) { return 'Data'},
        value: function (value, ratio, id) {
            var format = id === 'data1' ? d3.format(',') : d3.format('$');
            return format(value);
        }
    }
}
});

1 个答案:

答案 0 :(得分:1)

您可以使用grouped: false分隔出工具提示的值,以便它们只显示您已经过去的内容,如下所示:

    tooltip: {
grouped: false,
    format: {
        title: function (d) { return 'Data'},
        value: function (value, ratio, id) {
            var format = id === 'data1' ? d3.format(',') : d3.format('$');
            return format(value);
        }
    }
}

默认情况下,c3将工具提示值组合在一起,此选项将它们分开:)